2017-02-27 60 views
0

當使用Git,這似乎是一個好主意,fetchmerge(如本blog指出的),而不是僅僅爲了讓拉自己在合併之前查看更改。 這似乎是一種合理而安全的方式來做事,我可以追蹤到目前爲止。小心使用Git拉:選擇(手動)從origin/master的合併掌握

但是,如果我再做主產地和/主之間的git diff什麼,決定了大部分的更新都不錯,但一兩件事情需要修正?有沒有辦法「手動」合併?我正在尋找類似於合併衝突後得到的編輯內容,這種衝突可讓您決定每次更改 - 有點像git add --patch

我想是有編輯東西的力量合併origin/master的到我自己的主人之前,最好有我最喜歡的difftool。 我的理解,這可以通過應用改變master,然後強制與git push -f推來完成,但是這似乎有點殘忍和不必要的。

在另一方面,cherrypick聽起來像是一個非常有前途的名字,但只允許選擇上的文件提交,而不是實際的變化。

怎樣才能做一個高度選擇性/手動合併? docs的合併策略似乎都不允許對此進行足夠的手動控制。

回答

2

你做合併的那一刻,使用參數--no-commit

git merge --no-commit <branch> 

這將在創建提交時停止合併,將您的狀態保留爲未完成合並,這與發生衝突時完全相同。

從這個狀態,你可以diff和進行必要的修改。

+0

感謝,那是很容易的添加 – untergam

+0

的大塊基於重置爲接受的答案的一部分 –