有没有可能建立一个 git 存储库,它能够像传统的 --mirror 一样用于向其中拉取内容,但是在从中推送到另一个存储库时不强制要求?
有没有可能建立一个 git 存储库,它能够像传统的 --mirror 一样用于向其中拉取内容,但是在从中推送到另一个存储库时不强制要求?
git push --mirror --no-force
这将禁用非快进更新(在git 1.8.0.2中测试过)。
1.8.4
中没有看到这种行为,也没有在git-push
的man页面中记录--no-force
。此外,在1.8.0.2
和1.8.4
之间的发布说明中也没有提到删除--no-force
选项。 - bloudermilk--mirror
,一切都按照广告所说的那样工作了。我的git版本是1.8.4
。 - bloudermilkreceive.denyNonFastForwards true
,则git push --mirror应该失败:
git config
man page:receive.denyNonFastForwards
true
,git-receive-pack
将拒绝非快进的ref更新。使用此功能可以防止通过推送进行这种更新,即使是强制推送也不行。在初始化共享存储库时设置此配置变量。这意味着您不必“复制--mirror
”所做的操作:您可以简单地使用它,并且如果涉及任何非快进合并,则仍然会出现推送失败。有没有可能用其他选项复制--mirror的操作?
使用一些推送命令可以完成mirror的部分操作:
git push <remote> --all # push all branches
git push <remote> --tags # push all tags
git push <remote> refs/remotes/* #push the remote refs