5

使用 Eclipse + egit 向主分支提交更改的推荐步骤是什么?

我已经使用 Eclipse 和 svn 很长时间了,一切都很好。每当我要提交更改时,我的流程如下:

  • 与工作区同步
  • 寻找冲突
  • 发现冲突时,手动合并,然后将文件标记为已合并
  • 更新
  • 犯罪

在极少数情况下,我尝试在没有提交的情况下提交一组文件,我会收到警告并且可以很好地纠正更改。

即使我更新了有冲突的文件,从中恢复也不错,尽管我发现首先与工作区同步以识别和合并有冲突的文件比在更新失败后尝试合并更好.

使用 egit,我尝试的任何流程都无法正常工作。首先,如果我错误地从服务器拉取并且存在冲突,我被告知存在冲突,但随后对此感到非常困惑:我很难从服务器检索最新的并且发现无法提交我的文件不管我做了多少同步。即使用 head 中的最新文件替换我的文件并再次拉取然后提交似乎不再起作用。

即使我遵循与 svn 相同的方法(首先同步并手动合并有冲突的文件),然后再使用 pull,我仍然会遇到我上面提到的相同失败,就好像我将文件标记为合并没有考虑为了。

所以......一张白纸,当我进行一些更改时推荐的说明是什么,想要将它们与服务器上的最新代码合并(可能包括与我的更改集冲突的文件更改),并且,可选地,想要提交我的更改?如果有人讨论这类问题,指向一个好的 egit 教程就可以了。

4

1 回答 1

7

我不确定我是否正确理解了您的问题。但我现在试图给你一些提示。我们最近将我们公司的存储库从 CVS 转换为 git,这非常具有挑战性,因为我们有很多问题都集中在您所针对的同一问题上。

首先,我不得不说,来自 SVN 或 CVS 的您将无法像多年来那样完成您的工作流程。

尤其是处理一小组文件并仅通过同步更新那些文件不适用于 git。以下是我在与我们的 git 同步(从服务器获取最新信息方面)时采取的步骤。

  1. 我承诺。早期提交可以为您节省很多痛苦!与远程 repo 同步时不要有挂起的更改,因为使用 egit 这可能会导致相当多的痛苦。
  2. 我取。使用 egit,您可以将操作放入工具栏中,甚至可以为其创建快捷方式,这使得获取非常舒适。
  3. 提取结果将显示在对话框中。我研究了这些变化,因为我认为这是使用 egit 执行此操作的最佳点。您可以阅读所有提交消息,甚至双击它们以在后台打开提交并研究差异。是的,这个对话框不是模态的。所以你可以在第二台显示器上移动它。
  4. 我做一个变基。这类似于合并,但不会留下您从哪个点开始临时开发的信息。这是我公司做出的一种设计决定——更喜欢 rebase 而不是合并。
  5. 如果您有冲突,您可以使用合并工具来解决它们。这与您使用 CVS 进行的同步非常相似。记得做 aAdd to index因为它是新的mark as merged。之后,Rebase > Continue如果您进行了变基,您应该这样做。
  6. 我推。如果没有人在此期间推动,就是这样。

这就是我的工作流程。如果这是正确的方向,我可以添加更多细节,为什么我会像我一样执行几个步骤,以及我认为最好的方法是使用 egit 来完成这些步骤。

于 2013-08-05T05:52:47.683 回答