4

我需要定期提取几个存储库的所有分支的 git 日志。虽然我可以克隆它们然后执行 git fetch,但我考虑节省一些磁盘空间和时间,并且只将它们克隆为裸机:

git clone --bare repoUrl

克隆后,所有日志和分支都是最新的。我可以发出git log --all,我可以看到直到克隆时刻的所有变化。

但是,当远程存储库更新时,我无法从远程存储库中获取更改。即,如果我发出: git fetch --all然后git log --all,我看不到远程仓库中发生的任何更改。

当远程接收到新提交时,如何更新本地存储库的状态?

我努力了:

  • git fetch但它似乎没有得到任何更新(即git log --all没有显示任何变化)。
  • git fetch origin master:master只更新主分支
  • git branch -r不显示任何东西
  • git branch -a仅显示克隆时可用的分支
  • git remote -v正确显示远程存储库的 url。
4

2 回答 2

3

我发现阅读此答案的解决方案与类似问题相关(我只需要提取日志,而不是提取代码)。

克隆后,我必须添加:

git config remote.origin.fetch "+*:*"

这样 git 就可以跟踪所有分支,甚至是远程分支。然后,发出git fetch --all --prunegit log --all我可以看到所有的变化。

于 2017-12-13T22:09:18.143 回答
0

使用git log --remotesaftergit fetch --all获取远程分支的日志。

于 2017-12-13T14:45:36.327 回答