Answers:
这是您需要在镜像上执行的命令:
git remote update
关于提交,引用,分支和“ et cetera ”,Magnus回答是可行的(git remote update
)。
但是不幸的是,就像我想要的那样,没有办法clone
/镜像/ update
挂钩。
我发现了有关克隆/镜像钩子的非常有趣的线程:
http://kerneltrap.org/mailarchive/git/2007/8/28/256180/thread
我学会了:
挂钩不被视为存储库内容的一部分。
.git/description
与钩子一样,还有更多数据(如文件夹)不会被克隆。
hooks
目录中显示的默认挂钩来自TEMPLATE_DIR
template
git上有这个有趣的功能。
因此,rsync
考虑到我的镜像的目的,我可能会忽略此“克隆钩子”或采取某种策略(仅备份+其他克隆的源)。
好吧...我只会忘记钩子克隆,并坚持下去git remote update
。
clone
/ update
进程管理,而且还不是存储,重新存储等。因此,对于严格备份rsync
或等效备份确实是可行的方法。正如我所说的那样,这对于我来说并不是必须的(我可以负担得起没有钩子,隐藏物等),所以我会坚持使用remote update
。谢谢!改进了我自己的“ git-fu” ... :-)
参见此处:Git不会在后续克隆中克隆所有分支吗?
如果您确实希望通过拉分支而不是来实现此目的push --mirror
,那么可以在这里看看:
git裸存储库中的“获取--all”不会将本地分支同步到远程分支
此答案提供了有关如何相对轻松实现此目标的详细步骤:
push
对我来说不是一个选择,因为我需要在接收方(从克隆所在的位置)进行此操作;pull
也不是一种选择,因为镜像存储库是一个裸存储库(没有工作树,因此没有“拉”)-似乎git remote update
确实做到了所有(比引用的答案容易得多)...总之,谢谢!当然,链接的问题/答案中包含有价值的信息。
rsync
在这种情况下,我会选择使用。另外,我假设您忘记了存储(请参阅此处),并且也重新获取了信息...?
git fetch
吗?还是git remote update
一个人就能做到?