2011-09-23 70 views
0

在Eclipse Egit中签出两个不同版本的项目的最佳方式是什么,并让它们出现在单独的目录中?Egit:签出两个不同的版本

我的情况如下。我正在研究一个项目,并做了一些很好的改变和一些不好的改变(状态A)。我想查看我的项目的前一个工作版本(状态B),并将状态A的一些良好更改复制并粘贴到状态B.每次我尝试检查任何内容时,它都会替换包浏览器中显示的文件。

回答

1

这是因为一个Git仓库有一个工作目录,工作目录反映了所有分支的变化等。所以如果你想要两个版本,你需要两个仓库(只需克隆一个仓库)。由于您无法在一个Eclipse工作区中导入两个具有相同名称的项目,因此必须在结帐后和项目导入前重命名一个项目。

但是你也可以使用比较模式。选择项目,选择与 - >分支,标签或参考比较,然后选择您要与之比较的其他分支。然后,您可以将其他分支中的内容添加到当前文件。

+0

完美,谢谢 – tjb

1

你所要求的并不是非常git-ish,但这是你如何去做的。

你会拿你现有的仓库,你会克隆它到一个新的回购。在这个新的回购协议中,你可以查看你的“to”版本(通过分支或标签或提交ID),在旧版本中你可以查看“from”版本。然后,您将Eclipse指向两个目录,以从它们创建项目。

然后,您在Eclipse中有两个项目,每个项目都包含一个工作目录,它们是不同的版本,您可以手动将代码从“从”移动到“到”。一旦你的“to”项目是你想要的方式,做到这一点,删除“从”回购和项目,鲍勃是你的叔叔。

执行此操作的git-ish方式是使用git bisect来查找包含错误更改的提交,然后全部或部分恢复提交。

+0

感谢丹,这是问题的实际答案,但邓尼的答案是更好的方法来做到这一点 – tjb

+0

@tjp是的。最好骑着这匹马前进的方向。 –

相关问题