我已经在git rebase上阅读了好几个月了。但是,在我的日常开发工作中,我仍然不习惯使用它。就像我理解合并版本控制工具的方式一样,有没有一种方法可以理解git中的rebase并使用它来利用它提供的有用性?
答案 0 :(得分:1)
VonC的链接非常好,但它可能只会为进一步阅读做出贡献。
要记住的第一点是rebase
主要用于您的私人开发分支。 Rebase总是重写历史记录,因此修改已经发布和合并并被其他人使用的分支机构是邪恶和粗鲁的。
有两个主要用例。
一。将您的开发分支移动到上游提交
git checkout feature
git rebase master
结果:
X (feature) X (feature)
/ => /
X-X-X-X (master) X-X-X-X (master)
两个。使用交互式rebase
清理dev分支的历史记录git checkout feature
git rebase -i master
历史:
X (feature)
/
X => X (feature)
/ /
X-X (master) X-X (master)
git rebase -i
启动一个编辑器,并在你的分支上提供一个提交列表。每个前面都有一个默认的pick
操作。如果你保留pick
什么都不会改变。您可以将pick
替换为其他操作。
squash
提交上一个,提示更改说明fixup
,自动保留其原始描述edit
提交的内容和说明最好的学习方法就是去做。