Git merge –squash和–no-commit之间的区别
正如标题所说,我不清楚git merge --squash
和git merge --no-commit
之间的区别。
据我了解git merge
的帮助页面,这两个命令会让我在一个更新的工作树,仍然有可能编辑,然后做最后的提交(或多个提交)。
有人能澄清这两种select的区别吗? 我什么时候使用一个而不是另一个?
git merge --no-commit
这就像一个正常的合并,但不会创build一个合并提交。 这个提交将是一个合并提交:当你看历史,你的提交将显示为一个正常的合并。
git merge --squash
这会将更改合并到工作树中,而不会创build合并提交。 当您提交合并的更改时,它将看起来像您的分支上的一个新的“正常”提交:没有历史上的合并提交。 这几乎就像你对所有合并的变化进行了挑选。