2012-07-19 72 views
2

我在將特定分支合併到另一個分支時遇到問題。僅合併與GIT中特定分支相關的更改嗎?

我們共有3家分公司,我們的基礎是我們的項目。 DEV,SUP,主人。 開發人員將他們的分支從DEV中分離出來,當他們的票據基線時,我將它們合併到DEV中供客戶測試。此時沒有額外的更改,因爲它們基於DEV的本地分支。 這個問題是當我嘗試將分支DEV12345合併到SUP中時,它顯示了一堆與DEV12345分支(提交)中所做更改無關的更改。

我已經閱讀了櫻桃採摘和其他一些解決方案,但我剛開始使用GIT,所以沒有足夠的經驗去遵循我見過的一些答案。

我不想櫻桃選擇,因爲這是我的理解,當我合併到主人,我可能會失去提交或有更多的合併衝突?

$ git merge DEV12345 --no-commit 
$ git status 

在這一點上,它顯示了一堆我不想要的變化。 我做過這個,我從另一個解決方案在這裏得到了Stackoverflow。

$git add <fileNamePath> 
$git clean -f -d 
$git reset HEAD 

我想這就是我所做的。我已經證實,這只是帶來了我想要的具體變化,那就是100個文件中只有1個文件不同。 而且我相信,如果我沒有記錯的話,因爲我做了我自己的

$git commit -m "xxxxxxxxxxxx" 

我已經失去了原作者的提交/歷史,這是不是我們有利。

有沒有更簡單的方法來做到這一點?這也將保持我最終發佈後掌握的歷史。 一旦客戶批准一張票,我們就會發布給SUP,然後一旦我將所有已批准的票張貼到SUP,我將SUP合併到Master中,這是我們的Live系統。

有人可以提供一個簡單的解決方案,所以初學者可以理解嗎?

謝謝大家!

回答

0

Git允許你壓縮提交到一個(或多個)。它基於交互式git rebase應用程序。也許,你可以合併成SUP,然後壓縮你的提交。因此,在向SUP中進行有意義的合併時,您可以在分支中保留提交。

有關git rebase的更多信息,請檢查此recipee或git-book。

再見