Git 一个裸仓库的更新日志
Git update log of a bare repository
我需要定期提取几个存储库的所有分支的 git 日志。
虽然我可以克隆它们然后执行 git 提取,但我考虑过节省一些磁盘 space 和时间,只将它们克隆为裸机:
git clone --bare repoUrl
克隆后,所有日志和分支都是最新的。
我可以发出 git log --all
,我可以看到克隆时刻之前的所有更改。
但是,当它更新时,我无法从远程仓库中获取更改。 IE。如果我发出:
git fetch --all
然后 git log --all
,我没有看到远程仓库中发生的任何更改。
当远程接收到新提交时,如何更新本地存储库的状态?
我试过:
git fetch
但它似乎没有得到任何更新(即 git log --all
没有显示任何变化)。
git fetch origin master:master
只更新master分支
git branch -r
不显示任何内容
git branch -a
仅显示克隆时可用的分支
git remote -v
正确显示远程存储库的 url。
在 git fetch --all
之后使用 git log --remotes
获取远程分支的日志。
我在阅读此 answer 时找到了与类似问题相关的解决方案(我只需要提取日志,而不是提取代码)。
克隆后,我要添加:
git config remote.origin.fetch "+*:*"
这样 git 可以跟踪所有分支,甚至是远程分支。
然后,发出 git fetch --all --prune
和 git log --all
我可以看到所有的变化。
我需要定期提取几个存储库的所有分支的 git 日志。 虽然我可以克隆它们然后执行 git 提取,但我考虑过节省一些磁盘 space 和时间,只将它们克隆为裸机:
git clone --bare repoUrl
克隆后,所有日志和分支都是最新的。
我可以发出 git log --all
,我可以看到克隆时刻之前的所有更改。
但是,当它更新时,我无法从远程仓库中获取更改。 IE。如果我发出:
git fetch --all
然后 git log --all
,我没有看到远程仓库中发生的任何更改。
当远程接收到新提交时,如何更新本地存储库的状态?
我试过:
git fetch
但它似乎没有得到任何更新(即git log --all
没有显示任何变化)。git fetch origin master:master
只更新master分支git branch -r
不显示任何内容git branch -a
仅显示克隆时可用的分支git remote -v
正确显示远程存储库的 url。
在 git fetch --all
之后使用 git log --remotes
获取远程分支的日志。
我在阅读此 answer 时找到了与类似问题相关的解决方案(我只需要提取日志,而不是提取代码)。
克隆后,我要添加:
git config remote.origin.fetch "+*:*"
这样 git 可以跟踪所有分支,甚至是远程分支。
然后,发出 git fetch --all --prune
和 git log --all
我可以看到所有的变化。