使用egit推送/从中央git存储库中拔出后没有树冲突

时间:2011-05-01 16:05:14

标签: git egit tree-conflict

我们有2名开发人员使用EGit。一个适用于Windows,一个适用于Linux

我们制定合作政策如下:

  • 有一个中央(裸)存储库
  • 最初,每个开发人员都会从中央存储库中签出并在本地工作。
  • 当两者需要同步工作时,我们从/向中央存储库拉/推。

我们认为我们使用中央存储库,在未来,我们可以轻松地与团队中的更多开发人员协作。

当一个开发人员修改了另一个目录移动到其他目录的文件时,一切正常,直到我们发现根本没有冲突。以下是步骤:

  • 一位开发人员,将文件移至另一个位置;将它提交到他的本地存储库;将它推送到中央存储库。
  • 另一个改变该(相同)文件的内容;将它提交到他的本地存储库。拉中央存储库。

我们预计当第二个开发人员“拉动”时会有一个冲突报告。但没有冲突。并且他的工作目录(以及他的本地存储库)中出现了2个文件:

  • 他修改的那个
  • 第一个开发人员转移到另一个目录的那个。

有谁能告诉我们我们的错误是什么?

我们的工作方式是否违反了git的设计?

我们是git的新手(长期熟悉CVCS)。遇到这个问题,我们非常担心,因为这意味着合并我们团队的工作将非常困难。我们认为我们必须做错事。感谢您澄清我们。

2 个答案:

答案 0 :(得分:0)

我的猜测是你没有移动文件。移动文件时,它是删除并创建。当人们添加更改时,他们通常会忘记添加-u或-A选项,不仅包括新文件,跟踪文件,还包括已删除的文件。

移动文件后,请确保暂存更改的删除方。如果有疑问,请使用git log --stat检查您是否从执行移动的提交中的旧位置删除了该文件。

希望这有帮助

答案 1 :(得分:0)

当我使用Egit时,没有命令行。我确信在提交时我检查了删除的文件和添加的文件。

但奇怪的是,我再次尝试过:

  • 删除我的本地存储库(从存储库视图,右键单击,删除...)
  • 从中央仓库(克隆)再次结账
  • 重做我上面提到的步骤

一切都按预期工作。我以前的本地存储库必定存在问题,因为我可以创建一个团队>拉。我需要制作一个Fetch然后合并。之后再次退房。现在好了。