碰巧我的git-partner和我共享一个私人仓库,不得不拉很多东西,因为他有一段时间没有拉了。我希望在他的〜3h下载会话中继续工作,但我也想避免麻烦。
因此,我想知道:
TL; DR-对两个问题都是肯定的,警告是修改已发布的提交通常是不好的做法。
- 他拉动时安全推入安全吗?
首先,“拉”是两个操作-“提取”然后是“合并”。首先,git将“获取”远程存储库中的所有提交(祖先指向指定的HEAD),并将其存储在本地存储库中。其次,它将“指定”的远程HEAD“合并”到本地HEAD(这可能是快速转发,也可能是具有多个父对象的新提交)。
其中的“合并”部分是本地操作,与实际操作无关。您的合作伙伴将根据从存储库中“获取”的内容进行“合并”。
因此,问题归结为-在另一个人进行“推送”时“获取”是否安全?答案是-是的,当然!在“获取”结束时,您的伙伴将拥有或不拥有您的所有提交。如果没有,则按照常规git工作流程在“推”或“拉”后发现剩余的提交。从逻辑上讲,这等效于他们完成“拉”,然后您“推动”新的提交。
- 在他拉动时修改我的上一次提交安全吗?
嗯,作为一个过程,您可能不想修改已经发布到远程存储库中的提交(使用谷歌搜索)。但是,如果您确实想这样做,可以。您的合作伙伴将再次获得这些更改(您在“获取”期间发布的更改),否则将不会。如果没有,那没关系,因为这些更改将在以后发现。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句