2014-08-28 120 views
1

不知道,如何用简短的标题来描述它......这是我的问题。git,合并覆盖我的更改

我们有两个分支特征-100,特征-150和开发分支。

我在150上工作,需要分支100的功能。 分支100,是一些老弱,并且从未被合并开发。 有一位研究员,通过樱桃采摘从100个变化发展。 所以这种想法的方式,只是“更新”我的150与当前的发展,以获得这个珍贵的功能。

我已经尽我的分支

  1. 合并从开发
  2. 重订我的分支,从发展

但是,所有这些行动将覆盖我在树枝上的变化。 还有一个信息,我在150上的更改已经被拉到远程/ 150上。

任何想法,如何处理?

回答

3

一个信息更多,我对150的更改已经拉到远程/ 150。

这意味着重新开发feature-150不是一个好主意,因为它会重写该分支的历史。

合并应该是正确的选择:

git checkout feature-150 
git merge develop 

这不应该覆盖您的更改。如果是这样,请尝试从git merge中选择合并策略特定选项ours:如果发生冲突,该选项将选择您的更改。

git merge -X ours develop 

如果还是失败,则OP codesnippet点(in the comments)的变通方法:

我现在已经合并,因此我改变被覆盖,即后我会使用我的树的樱桃选择承诺“强制覆盖”与我的变化
也许还有其他一些/更好的方法来实现这一点,但这是我的解决方案。

+0

这个“我们的”otpion似乎是个好主意。但它不适合我。我不知道为什么......我认为我不认为在分支上有“某些事情”。我现在合并了,因此我的更改被覆盖了,之后我会使用樱桃树选择我的树提交,以“强制覆盖”我的更改。也许还有其他一些/更好的方法来实现这一点,但这是我的解决方案。 – codeSnippet 2014-08-28 09:15:09

+0

@codeSnippet你在合并之前在'feature-150'上犯了什么变化(合并过度了)? – VonC 2014-08-28 09:15:49

+0

是的,我的150个承诺是在开发合并之前完成的。 – codeSnippet 2014-08-28 09:20:55

1

你是什么意思“覆盖我的变化”?

在做其他事情之前提交您的更改!这样他们被存储为一个提交和GIT知道他们。

之后合并和rebase应该罚款。

+0

这不会提供问题的答案。批评或要求澄清作者,在他们的帖子下面留下评论 – reporter 2014-08-28 11:10:55

+0

Git不*覆盖已提交的更改,因此解决问题的唯一有意义的方式是存在未提交的更改,因此解决方案是提交这些更改。 – michas 2014-08-28 15:02:49