git rebase
与 git merge
解决了相同的问题。都是将一个分支的提交合并到另一分支上,那它们有哪些不同喃?
git merge
master
分支合入到 feature
分支
git checkout feature
git merge master
// 或者
git merge master feature
git merge
的优势是它保留了分支的结构与历史提交目录,但同时这也导致了提交历史会被大量的 merge
污染
git rebase
rebase
命令是一个经常听到,但是大多数人掌握又不太好的一个命令。rebase
合并往往又被称为 「变基」
它是将把所有的提交压缩成一个 patch
。然后把 patch
添加到目标分支里。rebase
与 merge
不同的是,rebase
通过为原始分支中的每个提交创建全新的 commits
来重写项目历史记录
以 ma