如何避免在git中进行小的更改?

Rob*_*ert 12 git commit

我想知道,我怎么能避免在很小的代码更改中提交.例如,有时我会错过参数之间的空格或那种微小的代码格式.我问这个的原因是因为后来我必须将我的提交推送到远程存储库,我不想包含那些小的更改.

有任何想法吗?谢谢

Bar*_*tek 21

更新:正如其他人指出的那样,如果您已经推送到远程源并与其他开发人员共享此代码,请不要进行任何重新定义或历史记录重写.简短的回答:这很危险且有风险!

我建议为此检查rebase命令.它完全符合您的要求

这样做需要较小的提交并将它们组合成较大的提交

要使用它:

git rebase -i HEAD~5
Run Code Online (Sandbox Code Playgroud)

您的编辑器将弹出当前分支头部的最后5次提交,并附带一些文档.在你的情况下,你会想要使用squash.我链接的网站解释得非常好,他们有这个例子:

pick 01d1124 Adding license
squash 6340aaa Moving license into its own file
squash ebfd367 Jekyll has become self-aware.
squash 30e0ccb Changed the tagline in the binary, too.
Run Code Online (Sandbox Code Playgroud)

这将打包前3个提交并将它们全部置于您标记为的提交之下pick.然后,您可以修改提交消息等.

玩得开心

  • 无论你做什么,*如果你已经推动了改变,请不要这样做:S (2认同)

Dav*_*ill 16

进行更改的唯一方法是使用提交.但是,如果您愿意,可以修改先前的提交以包含新的更改.当您尚未将先前的提交推送到远程存储库时,这可能是最佳解决方案.

在Git用户手册博客文章中有关于修改git提交的很好的信息.