我正在尝试访问远程存储库上的分支提交历史记录。我看了一下文档,但没有找到任何关于如何使用本地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
其他回答
您可以很容易地获得远程服务器的日志。 方法如下:
(1)如果通过ssh使用git -那么只需使用你的git登录名和密码登录到远程服务器-并chdir你的存储库所在的远程文件夹-然后在远程服务器上的存储库中运行"git log"命令。
(2)如果通过Unix的标准登录协议使用git,那么只需telnet到远程服务器并在那里执行git日志。
希望这能有所帮助。
这对我来说很管用:
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
我不确定什么时候添加了过滤,但如果你只想获取历史/ref-logs,这是一种排除对象blobs的方法:
git clone --filter=blob:none --no-checkout --single-branch --branch master git://some.repo.git .
git log
一个快速的方法是使用——bare关键字进行克隆,然后检查日志:
git clone --bare git@giturl tmpdir
cd tmpdir
git log branch
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的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之间的区别