2014-03-19 67 views
3

我當時正在做一些長期任務,當我的負責人進來並要求修正一個小錯誤時,已經提交了多個本地回購提交。Git推特別提交

我修復了它,現在需要將它部署到生產環境。但是,從長期任務來看,我的工作還沒有完成,沒有經過檢驗,所以不應該付諸實踐。小bug修復和長任務的變化會影響我的回購中的不同文件。

我應該如何提交這個小錯誤修正然後推它(並且只有它)prod,然後在小提交上重新提交長任務(這樣歷史將與prod中的相同)?

回答

5

進入您的發佈分支,或者從您部署的任何分支。

做一個git cherry-pick <sha>其中<sha>是提交包含您的修復程序的sha。這會將該提交添加到此分支。你現在可以部署這個。回到您的工作分支並在發佈分支之上重新綁定它。

這個rebase會改變歷史,但只要你沒有推動你的工作分支 - 這很可能是安全的。

0

根據您要部署的更改創建patch file,將本地克隆重置爲主分支(或用於跟蹤生產的任何內容),應用修補程序並進行部署。然後切換回您的功能分支,將生產分支合併回去。

+0

當你已經有一個很好的原子提交,並且有一個你可以應用的評論時,創建一個修補程序有點矯枉過正。 – Abizern