Git:如何重新分割和压缩从分支到主的提交?
我正在尝试重新设置并压缩当前分支的所有提交到主控。 这是我想要做的:
git checkout -b new-feature
做了一些提交,之后我试着:
git rebase -i master
在这种情况下,提交将保留在new-feature
分支中
git checkout master
git rebase -i new-feature
它给我和编辑窗口noop消息。
我知道命令:
git merge --squash new-feature
但我目前正在学习rebase
命令。
重新绑定时,Git不会将提交移动到另一个分支。 它将移动包含所有提交的分支。 如果你想在重新绑定之后将提交到master,使用git merge <branch tip or commit of branch>
来将主分支快速转发到该提交。
让我们走过这些步骤。
1 - 我们创建一个新的功能分支
git checkout -b new-feature
2 - 现在你可以添加/删除和更新你想要的新分支
git add <new-file>
git commit -am "Added new file"
git rm <file-name>
git commit -am "Removed a file"
cat "add more stuff to file" >> <new-file>
git commit -am "Updated files"
3 - 接下来,挑选并压缩任何提交到一个漂亮的提交消息
git rebase -i master
您需要记住的关键是在第一次提交之后,将“pick”的文本更改为“压扁”所有提交。 这将压缩所有提交到您的主分支。
4 - 选择主分支
git checkout master
5 - 将HEAD和主分支移至新功能所在的位置:
git rebase new-feature
你可以在这个可视化工具中尝试所有的命令:http://pcottle.github.io/learnGitBranching/
链接地址: http://www.djcxy.com/p/23453.html上一篇: Git: How to rebase and squash commits from branch to master?
下一篇: Git merge commits