我在另一个问题上链接到这个博客,我读到了这个关于某个 git 工作流程的警告:
这是导致大量头发拉扯的实际情况。
- 该团队正在使用合并工作流程。很多人改变的东西真的很快。典型的风格是
- 处理你的东西
- 在本地提交
- git pull 并希望没有冲突
- 在其他人进入之前尽可能快地 git push
- 很多团队成员都在使用 Tortoise Git,它运行良好,但他们从 Tortoise SVN 迁移,却不了解 Git 和 Subversion 之间的潜在差异。
- 合并冲突经常发生,因为很多人在做很多事情
- Tortoise Git 的一位用户会执行拉取操作,遇到合并冲突,解决合并冲突,然后在提交结果时仔细查看要提交的文件列表。那里有很多文件,他知道合并冲突只涉及几个文件。对于他的提交,他取消了他未参与的所有其他文件更改的检查,提交了结果并推送了提交。
- 结果:其他人在该用户的上一次提交和这次提交之间完成的所有提交都被丢弃
我不确定我是否理解这将如何发生?进一步来说:
- 你如何能够推动你所处的“错误”状态?正如我认为我理解的那样,这需要一个
--force
,但这里的故事是它被关闭了。pull
用户在提交冲突修复和推送之间不需要吗? - 在这里丢弃甚至意味着我认为的意思吗?我很难相信它们会被“移除”,我想实际结果更像是它们正在被撤消?