我正在主分支。我 创建file1并提交。
date >file1
git add file1
git commit -m 'added file1'
创建文件2和提交。
date >file2
git add file2
git commit -m 'added file2'
哎呦。我可能想在某一天使用file2, ,但绝对不是 ,它应该放在 master分支中。
糟糕。很简单。请与您所在的一个新的分支:
git checkout -b savingfile2
这将使文件2改变为提交savingfile2。现在回过头来放松对主
git checkout master
git reset --hard HEAD~1
一步在这一点上,导致对主人的提交将反映增加文件1, 和主机和savingfile2之间的附加承诺将加入文件2的到。
如果您掌握更多的变化,然后希望把文件2回,最终,你会想要衍合那些侧分支到新的主人:
date >file3
git add file3
git commit -m 'adding file3'
date >file4
git add file4
git commit -m 'adding file4'
而现在我们终于要文件2:
git checkout savingfile2
git rebase master # might need to fix conflicts here
git checkout master
git merge savingfile2 # will be a fast-forward
git branch -d savingfile2 # no need any more
应该这样做。