我们有 2 名开发人员使用 EGit。一种适用于 Windows,一种适用于 Linux
我们制定了如下合作政策:
- 有一个中央(裸)存储库
- 最初,每个开发人员都从中央存储库中签出并在本地工作。
- 当两者需要同步工作时,我们从/向中央存储库拉/推。
我们按照我们的想法使用中央存储库,有了它,我们将来可以轻松地与团队中的更多开发人员协作。
一切正常,直到我们检测到当一个开发人员修改已被另一个开发人员移动到另一个目录的文件时根本没有冲突。以下是步骤:
- 一位开发人员,将文件移动到另一个位置;将其提交到他的本地存储库;将其推送到中央存储库。
- 另一个更改该(相同)文件的内容;将其提交到他的本地存储库。拉取中央存储库。
我们预计当第二个开发人员进行“拉动”时会有冲突报告。但没有冲突。他的工作目录(和他的本地存储库)中出现了 2 个文件:
- 他修改的那个
- 以及第一个开发人员已移至另一个目录的那个。
谁能告诉我们我们的错误是什么?
我们的工作方式是否违反了 git 的设计?
我们是 git 新手(对 CVCS 很熟悉)。遇到这个问题,我们非常担心,因为这意味着我们团队的工作很难合并。我们认为我们必须做错事。感谢您为我们澄清。