2013-04-16 57 views
1

我想知道是否可以同時在兩個分支上工作,如果我想編寫應該在這兩個分支中的代碼。所以,如果我提交我的更改,它實際上更新兩個分支。Git:在同一時間在兩個不同的分支上進行相同的編輯

例如:

的代碼在我分公司一是這個

print "I like cake" 

而且一個在我支路B

print "I love bananas" 

但我想他們有這行代碼:

print "Everyone loves stackoverflow" 

難道我真的必須將它寫在分支A中,複製它,檢出B並粘貼它嗎?

我不能將更改應用於兩個不同的分支嗎?

回答

2

如果你想同時在兩個分支上工作,你應該認真考慮爲什麼你有單獨的分支開始。分支通常在那裏,所以你有分開的提交不會干擾其他的提交。

這就是說,你可以在B分支完成後選擇B上的提交。這將在其他分支上重新應用提交。即git cherry-pick A挑選A的最高提交併將其重新應用到當前分支。

†問題是它會嘗試添加差異,其中行print "I like cake"正在被刪除,這是不存在於分支B,所以補丁將失敗,因此也是櫻桃選擇,導致衝突。這實際上是有道理的:Git究竟應該知道這兩個蛋糕/香蕉愛情線實際上是相互關聯的?

+0

謝謝。我有一個應該在多個平臺上工作的大型項目。 90%的代碼是相同的,但一小部分必須進行調整。我只是希望我可以正常工作,並且只是讓部分代碼不同,並且在提交更改時不會發生衝突。但我想我不能? –

+1

通常情況下,通用的方法是共享完整的代碼庫和所有平臺相關的東西(例如Python只有一個[子文件夾](http://hg.python.org/cpython/file/default/PCbuild) ,所有與Windows相關的項目文件等必須構建,緊挨正常的東西),或者製作獨立的平臺項目,這些平臺項目使用另一個(平臺無關的)基本項目和通用代碼(例如使用Git的子模塊)。在這種情況下,你的大部分工作都會發生在這個基礎項目中,而平臺相關的東西只會在其他項目中發生。 – poke

相關問題