Git更新裸存储库的日志

时间:2017-12-13 00:59:39

标签: git logging bare

我需要定期提取几个存储库的所有分支的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正确显示远程存储库的网址。

2 个答案:

答案 0 :(得分:0)

git log --remotes之后使用git fetch --all来获取远程分支的日志。

答案 1 :(得分:0)

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

克隆后,我要添加:

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

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