我有類似這樣的情況: 關於分支設計決策。Git如何在不破壞當前提交的情況下創建基於HEAD〜1的新提交
最新承諾:
Design Option 2
Design Option 1
我要籤承諾「的設計方案1」,並用它來創建提交「設計方案3」。 我不想丟失或修改提交'設計選項1'或'設計選項2'。
我知道,我可以檢查出提交的設計方案1與此命令:
git checkout HEAD~1
然後,我得到這個消息:「你現在在‘分離的頭’的狀態。」
這並不真正有用,因爲我不明白拆分HEAD有什麼大不了的。
爲什麼我不能像平常一樣從分離的頭上工作? 爲什麼不能這樣工作?
// Make changes
git add .
git commit -m "Design Option 3"
git push
我寧願不創造新的分支,只是告訴混帳閉嘴,創造新的從這個分離的頭的狀態承諾,而合併的東西等等。
如何使它工作?
一旦你簽出另一個分支,你認爲你會如何訪問你在分離頭上添加的提交? – chepner
我真正想要的是在頭後添加該提交。像git commit -hm「Message」,其中-h表示添加此提交,就好像在此分支上最後一次提交時head未分離一樣。 –
Git中的HEAD只是對分支的符號引用;向分離的頭添加提交使其無法從任何其他分支訪問。當你說「在這個分支上添加這個提交...」時,當你有一個分離的頭部時,*是*沒有「這個分支」。 – chepner