我有一个关于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