2011-04-17 67 views

回答

129

假設你是罰款採取一切你想要什麼的變化高手,就是:

git checkout <my branch> 

到工作樹切換到您的分支;那麼:

git merge master 

合併所有主變更與你的。

+3

這只是將我的主人的變化加入我的分支,並讓主人獨自一人,對嗎? – 2011-04-17 04:59:45

+3

@Nic - 這將帶來所有來自主的提交,而不僅僅是錯誤修復。確保這是你想要做的。 – manojlds 2011-04-17 05:03:07

+8

@Nic - 正確,這不會修改主。 – 2011-04-17 05:07:37

46

如果你的分支是唯一的地方,並沒有被推到服務器上,使用

git rebase master 

否則,使用

git merge master 
+0

爲什麼rebase只在當地分支時才起作用? – Denise 2011-08-02 21:27:58

+12

因爲它修改了提交歷史記錄,並且不想將修改的搜索歷史記錄推送到服務器。 – Chetan 2011-08-03 00:05:28

+1

如果你使用一個svn倉庫作爲你的遠程倉庫 - 通過'git svn',那麼'git rebase master'就是要走的路,以保持線性歷史,這正是svn所能理解的。 – alondono 2015-03-18 06:31:40

15

可以使用摘櫻桃,以獲得特定的錯誤修復提交

$ git checkout branch 
$ git cherry-pick bugfix 
+0

只有bugfix是合併回主控的分支時,櫻桃纔會工作嗎? – 2013-05-09 14:54:30

+1

你可以選櫻桃樹,但是在將分支合併到主分支之後(當分支準備就緒時),你將會在歷史記錄中進行兩次錯誤修復提交。 – Gauthier 2015-02-27 08:45:46

0

如果您只是想將錯誤修復程序集成到分支中,則需要git cherry-pick相關提交。

相關問題