繁体   English   中英

如何更新 git 克隆 --mirror?

[英]How to update a git clone --mirror?

我创建了一个 git 存储库来镜像实时站点(这是一个非裸 git 存储库):

git clone --mirror ssh://user@example.com/path/to/repo

现在,要让这个镜像克隆更新来自其远程源的所有更改,我必须使用哪些命令?

我想保持一切更新:提交、引用、钩子、分支等。

谢谢!

这是您需要在镜像上执行的命令:

git remote update

关于提交、参考、分支和“等等”,Magnus 的回答很有效( git remote update )。

但不幸的是,没有办法clone /镜像/ update钩子,正如我想要的那样......

我发现了这个关于克隆/镜像钩子的非常有趣的线程:

http://kerneltrap.org/mailarchive/git/2007/8/28/256180/thread

我学会了:

  • 挂钩不被视为存储库内容的一部分。

  • 还有更多数据,例如.git/description文件夹,它不会被克隆,就像钩子一样。

  • 出现在hooks目录中的默认 hooks 来自TEMPLATE_DIR

  • git 上有这个有趣的template功能。

因此,考虑到我的镜像的目的(仅用于其他克隆的备份 + 源),我可以忽略这个“克隆钩子的东西”,或者忽略 go 的rsync策略。

好吧...我将忘记钩子克隆,并坚持git remote update方式。

  • rsync刚刚指出, clone / update过程不仅不管理“钩子”,而且还管理 stash、rerere 等。 因为在我的情况下这并不是真正必要的(我可以负担得起没有钩子、藏匿处等),就像我说的那样,我会坚持使用remote update

谢谢。 改进了我自己的“git-fu”..:-)

请参见此处: Git 不会在后续克隆中克隆所有分支?

如果你真的想要通过拉分支而不是push --mirror来实现这一点,你可以看看这里:

git 裸存储库中的“fetch --all”不会将本地分支同步到远程分支

该答案提供了有关如何相对轻松地实现该目标的详细步骤:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM