gpt4 book ai didi

git-commit - git commit --squash 选项有什么作用,为什么会有用?

转载 作者:太空狗 更新时间:2023-10-29 13:57:39 37 4
gpt4 key购买 nike

我一直在寻找一种替代解决方案来压缩分支中的一系列提交。我过去所做的是使用 git rebase -i HEAD~<#commits>然后选择哪个 promise 进行压缩。通常我 pick编辑最新的提交,并压缩其间的冗余提交。

这种方法工作得相当好,但我希望有一种更快的方法。我注意到有一个 --squash git commit 的选项.但我不确定这是如何工作的。它的具体作用是什么,您如何使用它?这能解决我的问题吗?

最佳答案

来自documentation :

--squash=<commit>

Construct a commit message for use with rebase --autosquash. The commit message subject line is taken from the specified commit with a prefix of "squash! ". Can be used with additional commit message options (-m/-c/-C/-F). See git-rebase[1] for details.

--squash (也是 --fixup 标志)将提交作为参数,并格式化消息以用于 --autosquash .

可以设置rebase.autosquash = true在您的配置中缩短整个过程。

如果你想压扁你最后一个N promise :

git reset --soft HEAD~N && git commit

这会将头放在 HEAD~N 上, 所以索引和工作目录根本不会改变,这意味着你现在可以使用 git commit并为所有更改创建一个提交。

关于git-commit - git commit --squash 选项有什么作用,为什么会有用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58370807/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com