我有一個關於Git的新手問題。瞭解git分支
場景:
1)我在項目中創建
2的「實驗」分支)然後我決定做的改變(例如:添加文件的.gitignore)必須影響「實驗「 分支以及主分支或將從主分支分支的任何未來分支。
在這種情況下推薦什麼?
簽出之前在主分支上籤出最新的提交併提交--amend
?
創建一個分支來做到這一點,然後與主和實驗分支合併?當我試圖做到這一點時,我將所有在我的「實驗」分支上的東西都應用到主分支上,並丟失了大量文件。我現在很迷茫...任何幫助將不勝感激
更新
發生了什麼事(我不能在我的最後一段上述解釋):
其實我已經合併了'hotfix'分支(其中有.gitignore提交)放入'實驗'分支,然後從主分支合併(在'實驗'分支上我刪除了一堆文件)。
所以我用:
git checkout master
git reset —hard [hash for the previously last commit on master]
git branch -d hotfix
git checkout -b hotfix (now from master)
git add .gitignore
git commit -m 「add .gitignore」
git checkout master
git merge hotfix
git checkout experiment
git merge hotfix
git branch -d hotfix
然後我有種「解開」這一點,再次使用底墊的方法,從下面的答案之一做到了。由於「歷史重寫」的原因,它對我更有吸引力,通過查看分支圖,這對我來說更有意義。而且我正在單獨工作(迄今爲止)這個項目。
可能重複的[我如何做一個錯誤修正主,並將其整合到我不太穩定的分支?](http://stackoverflow.com/questions/25933056/how-can-i-do-a -bugfix-on-master-and-integrate-it-into-my-less-stable-branches) – Jubobs 2014-10-01 15:32:06