我正在尝试访问远程存储库上的分支提交历史记录。我看了一下文档,但没有找到任何关于如何使用本地git客户端访问远程回购的提交历史的实质性信息。
当前回答
您只能在本地存储库上查看日志,但是其中可以包括已设置的所有远程的提取分支。
所以,如果你克隆一个回购…
git clone git@gitserver:folder/repo.git
这将默认为origin/master。
你可以添加一个远程到这个回购,除了原点让我们添加生产。在本地克隆文件夹中:
git remote add production git@production-server:folder/repo.git
如果我们想查看生产日志,我们需要做的是:
git fetch --all
从所有的远程(默认获取没有——ALL将只从原点获取)
获取之后,我们可以查看生产远程上的日志,您还必须指定分支。
git log production/master
所有选项都将像登录本地分支一样工作。
其他回答
git log remotename/branchname
将显示该存储库中给定的远程分支的日志,但仅显示您从其存储库“获取”到远程存储库的个人“副本”的日志。
请记住,您的存储库克隆只会通过git获取来更新其任何远程分支的状态。你不能直接连接到服务器来检查日志,你要做的是用git fetch下载服务器的状态,然后在本地查看远程分支的日志。
也许另一个有用的命令是:
git log HEAD..remote/branch
它会显示远程分支中的提交,而不是当前分支中的提交(HEAD)。
这对我来说很管用:
git fetch --all
git log production/master
注意,这是从所有远程获取的,也就是说,你可能“不得不克隆2GB的对象,只是为了查看提交日志”。
我不相信这是可能的。我相信你必须在本地克隆远程repo,并在它上执行git取回,然后才能对它发布git日志。
我正在寻找包含特定提交的远程分支
下面是一个快速脚本,您可以使用它作为示例
spark
✦ ❯ cat run.sh
for b in $(git branch -r)
do
hasKryoCommit=$(git log "$b" | grep 3e033035a3c0b7d46c2ae18d0d322d4af3808711)
if test -n "$hasKryoCommit"
then
echo "$b"
fi
done
spark
✦ ❯ bash run.sh
origin/HEAD
fatal: unrecognized argument: ->
origin/master
origin/branch-2.4
origin/branch-3.0
origin/branch-3.1
origin/branch-3.2
origin/master
您只能在本地存储库上查看日志,但是其中可以包括已设置的所有远程的提取分支。
所以,如果你克隆一个回购…
git clone git@gitserver:folder/repo.git
这将默认为origin/master。
你可以添加一个远程到这个回购,除了原点让我们添加生产。在本地克隆文件夹中:
git remote add production git@production-server:folder/repo.git
如果我们想查看生产日志,我们需要做的是:
git fetch --all
从所有的远程(默认获取没有——ALL将只从原点获取)
获取之后,我们可以查看生产远程上的日志,您还必须指定分支。
git log production/master
所有选项都将像登录本地分支一样工作。
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式
- git pull -rebase和git pull -ff-only之间的区别