Tob*_*ler 60 git merge git-merge squash fast-forward
应该使用哪一个来隐藏微观发现?
是git merge --squash和git merge --no-ff --no-commit否认其他父母的唯一区别?
Yas*_*oji 59
这些选项存在于不同的目的.您的存储库最终会有所不同
在完成主题分支的开发之后,假设您的存储库是这样的:

--squash如果你结账大师然后git merge --squash topic; git commit -m topic,你得到这个:

--no-ff --no-commit相反,如果你这样做git merge --no-ff --no-commit; git commit -m topic,你得到这个:

如果您真的想隐藏(我的意思是从您的存储库中删除)您的微提交,请使用--squash.因为,正如您在上面的图像中所看到的,如果您不进行压缩,则不会隐藏您的微提交.此外,您通常不会将您的主题分支推向全世界.主题分支是主题成熟.
如果您希望历史记录包含所有微提交,但将它们留在另一个开发线(上图中的绿线),请使用--no-ff --no-commit.但是请记住a)这不是一个分支,而b)并不是Git中的任何意思,因为它只是你提交的另一个父.
| 归档时间: |
|
| 查看次数: |
17535 次 |
| 最近记录: |