2014-08-28 76 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