我需要定期提取几个存储库的所有分支的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
正确显示远程存储库的网址。答案 0 :(得分:0)
在git log --remotes
之后使用git fetch --all
来获取远程分支的日志。
答案 1 :(得分:0)
我发现读取此answer的解决方案与类似的问题有关(我只需要提取日志,而不是提取代码)。
克隆后,我要添加:
git config remote.origin.fetch "+*:*"
这样git可以跟踪所有分支,甚至是远程分支。
然后,发出git fetch --all --prune
和git log --all
我可以看到所有更改。