git - merge --squash 和 rebase 有什么区别?

标签 git merge rebase git-rebase squash

我是 git 的新手,我想了解 squash 和 rebase 之间的区别。据我了解,您在进行 rebase 时会进行挤压。

最佳答案

merge 提交:保留分支中的所有提交,并将它们与基础分支上的提交交错 enter image description here

Merge Squash:保留更改但忽略历史记录中的单个提交 enter image description here

Rebase:这会将整个特性分支从 master 分支的顶端开始,有效地将所有新提交 merge 到 master 中

enter image description here

更多关于 here


前两张图来自About pull request merges on the GitHub Docs

关于git - merge --squash 和 rebase 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2427238/

相关文章:

git pull 自动 merge

rebase 后远程的 Git 分支

git - 如何清理 Rebase 弄乱的 Git 提交

node.js - 在运行时在 docker 容器中 pull ssh key

android - Github 对 pull 请求发表评论的 TeamCity 触发器

c - merge_sort() 中的 merge() 如何工作?

mysql - 如果不存在类似记录则添加新记录

Git - merge 与 rebase

git - mercurial 和 git 是否存储您更新到哪些变更集的历史记录?

git - 将 README.md 从 GitHub 添加到本地存储库