我正在尝试访问远程存储库上的分支提交历史记录。我看了一下文档,但没有找到任何关于如何使用本地git客户端访问远程回购的提交历史的实质性信息。
当前回答
git log remotename/branchname
将显示该存储库中给定的远程分支的日志,但仅显示您从其存储库“获取”到远程存储库的个人“副本”的日志。
请记住,您的存储库克隆只会通过git获取来更新其任何远程分支的状态。你不能直接连接到服务器来检查日志,你要做的是用git fetch下载服务器的状态,然后在本地查看远程分支的日志。
也许另一个有用的命令是:
git log HEAD..remote/branch
它会显示远程分支中的提交,而不是当前分支中的提交(HEAD)。
其他回答
这对我来说很管用:
git fetch --all
git log production/master
注意,这是从所有远程获取的,也就是说,你可能“不得不克隆2GB的对象,只是为了查看提交日志”。
这里有一个bash函数,可以方便地在远程上查看日志。它有两个可选参数。第一个是分支,默认为master。第二个是远程,它默认为登台。
git_log_remote() {
branch=${1:-master}
remote=${2:-staging}
git fetch $remote
git checkout $remote/$branch
git log
git checkout -
}
例子:
$ git_log_remote
$ git_log_remote development origin
git log remotename/branchname
将显示该存储库中给定的远程分支的日志,但仅显示您从其存储库“获取”到远程存储库的个人“副本”的日志。
请记住,您的存储库克隆只会通过git获取来更新其任何远程分支的状态。你不能直接连接到服务器来检查日志,你要做的是用git fetch下载服务器的状态,然后在本地查看远程分支的日志。
也许另一个有用的命令是:
git log HEAD..remote/branch
它会显示远程分支中的提交,而不是当前分支中的提交(HEAD)。
一个快速的方法是使用——bare关键字进行克隆,然后检查日志:
git clone --bare git@giturl tmpdir
cd tmpdir
git log branch
我不确定什么时候添加了过滤,但如果你只想获取历史/ref-logs,这是一种排除对象blobs的方法:
git clone --filter=blob:none --no-checkout --single-branch --branch master git://some.repo.git .
git log
推荐文章
- RPC失败;卷度传输已关闭,剩余未完成的读取数据
- 我应该在.gitignore文件中添加Django迁移文件吗?
- 错误:您对以下文件的本地更改将被签出覆盖
- Git rebase—即使所有合并冲突都已解决,仍然会继续报错
- 在Git中,我如何知道我的当前版本是什么?
- 跟踪所有远程git分支作为本地分支
- 自定义SSH端口上的Git
- git如何显示不存在于.gitignore中的未跟踪文件
- Git错误:遇到7个文件应该是指针,但不是
- GitHub克隆与OAuth访问令牌
- 移动(或“撤销”)最后一个git提交到非暂存区域
- 我可以在GitHub上对要点进行拉请求吗?
- Hg:如何做一个像git的rebase
- 如何丢弃远程更改并将文件标记为“已解决”?
- 如何查看远程标签?