2012-04-06 35 views
1

我有一个使用git的项目。当我收到回购时,它有一些未经承诺的更改。我犯下了这些,并开始制作我自己的作品。当一个提交包含来自另一个提交的更改时,我该如何合并?

我收到了另一位开发人员的工作,并且该开发人员将其更改和原始未提交更改合并为一个提交。

现在我在单独的文件夹中有两个git仓库,我想知道如何将我的更改合并到开发人员更改中,尽可能减少冲突。

回答

3

假设你有你的小费当前已签出,这是master,一个选择是:

1. Add a remote从你的资料库指向他们。

2.取他的变化
git fetch hisRemote

2.然后创建一个只有你所做的更改一个新的分支,即分支,你犯了原来的变化。
git branch myChanges

3.重置master分支回到提交,你犯下的原始改变
git checkout master
git reset --hard <commitOriginalChangesAreIn>

4.然后用他的变化和改变原有的成分支合并了分公司。
git merge hisRemoteBranch

5.最后,将您的更改合并该分支的提示到分支。
git merge myChanges

+0

一个问题是,当我运行'git fetch hisRemote'时,我的主分支被其他devs变更覆盖。这是否应该发生? (我的工作是在一个单独的分支上)。因为当我到达第3步时,我基本上会撤消所有正在导入的更改。 – 2012-04-07 03:37:24

+1

提取不应覆盖任何本地分支。你确定它是? – Andy 2012-04-08 03:12:44

相关问题