我们知道如果push命令使用带有+符号的refspec,它将完全覆盖dst (non-fast-forward更新),因此dst和src将是相同的。但是,如果发生了fast-forward更新,这是真的吗?
发布于 2016-05-05 06:53:08
但是,如果发生了快速更新,这是真的吗?
是的,考虑快速转发,只需将远程头dst移动到src (因为src只添加新提交)。
--r--r--r--o--o--o (src)
|
(origin/dst)
git push +src:dst
--r--r--r--o--o--o (src)
|
(origin/dst)来自git push
通过使用可选的前导
+,您可以告诉Git更新<dst>ref,即使它在默认情况下是不允许的(例如,它不是快速转发)。
这意味着:如果推送是一个快速推进,'+‘没有任何效果。
https://stackoverflow.com/questions/37044185
复制相似问题