在開發過程中,我經常需要提交和推送「中間」提交,即提交的代碼不可編譯或者在更改某些內容等時發生。我不想做這樣的提交,但是這是爲了讓我的工作從辦公室到家庭繼續工作所必需的,有時候讓其他開發人員可以讓他們開始工作。Git合併時不包含從一個分支到另一個分支的提交
我想我已經找到了這個問題的解決方案:
我創建一個單獨的「開發」分支,讓所有中間的提交。
一旦代碼處於良好狀態,請合併爲主。所以主人不會包含「中間」提交,而只包含「正常」提交。
刪除所有中間提交的「dev」分支。
但這不起作用。當我進行合併時,不僅合併提交包含在master中,而且還包括來自「dev」分支的所有「中間」提交。因此,刪除「dev」分支不會產生任何效果,其「中間」提交將保留在那裏。
所以問題是:是否有可能以主要包含自己的提交+合併提交的方式進行合併,而不包括第二個分支的提交?如果這是不可能的,你能告訴我如何實現我的目標 - 有能力暫時保存中間結果,但也可以在以後無縫地刪除它們?
考慮到他與其他開發人員共享這些提交,是不是一個好主意? – jszakmeister 2013-02-12 09:49:24
+1提及'git rebase -i'。然後人們真的不知道本地開發分支。 – 2013-02-12 14:34:43
@jszakmeister,因爲他正在將本地開發分支的更改合併到當地的主人結帳中,所以沒關係。當他推動他的改變時,對其他開發者來說,就好像他的改變是一個巨大的提交。換句話說,擠壓可以讓你有一個承諾說,「添加新功能」,而不是多個「Oops。Fix typo」承諾。 – 2013-02-12 14:44:58