我覺得這個問題很一般,所以很抱歉沒有具體。當我修改一些代碼來嘗試新的東西時,無論項目或語言如何,如果全部失敗,我可能不得不恢復到之前的Git提交。但是在做出這些不確定的修改(讓我們稱之爲X)的過程中,我還做了一些很好的更正或補充(讓我們稱它們爲Y),我想保留它們。編碼方法:在嘗試新東西的同時保持好的東西
是否有一種巧妙的方法將X和Y分開,以便在一天結束時我可以保留Y並丟棄X?
我覺得這個問題很一般,所以很抱歉沒有具體。當我修改一些代碼來嘗試新的東西時,無論項目或語言如何,如果全部失敗,我可能不得不恢復到之前的Git提交。但是在做出這些不確定的修改(讓我們稱之爲X)的過程中,我還做了一些很好的更正或補充(讓我們稱它們爲Y),我想保留它們。編碼方法:在嘗試新東西的同時保持好的東西
是否有一種巧妙的方法將X和Y分開,以便在一天結束時我可以保留Y並丟棄X?
這是我做的:
優秀的答案,重點* *「做出可以獨立的小提交」* –
謝謝!還不熟悉分割/壓縮提交和重新綁定,但它看起來是一個不錯的方法。 – Ben
也許這是隱含在0x5453的答案,但我只是想添加一個精確度,這是我的問題的核心。要進行小型獨立提交,一個非常好的功能是交互式添加/提交。我個人使用。這使我可以選擇我的修改的一小部分來收集一個邏輯上同質的提交。這樣,我可以事後組織好幾項變更,並留下不確定的變化(如果需要推/拉,可能會隱藏它們)。當我一次完成許多不相關的修改時,這非常方便。
這就是說,交互式地交互式地執行它仍然非常重要,不會在大量的變化中丟失。
X和Y是單獨提交的,還是它們都歸入工作目錄中的更改? –
只是爲了在[0x5453的答案](http://stackoverflow.com/a/37840868/4233593)#2上展開,如果你有很多需要爲不同的提交進行排序的更改,那麼你應該創建一個交互用'git add -p'修補。請參閱[我的答案](http://stackoverflow.com/a/37769129/4233593)有關創建精度修補程序時分裂人羣是不夠的。 –