添加次要更改到提交?

时间:2012-07-24 08:10:17

标签: git

我刚做了一个提交并推动它掌握。有一个小错字,我想修复它作为此提交的一部分,而不是另一个。是否可以将此更改附加到当前和推送的提交?

2 个答案:

答案 0 :(得分:4)

你可以

git commit --amend
git push -f

但你不应该。一旦推送到任何远程服务器,您就不应该更改历史记录。你应该用下一个提交修复拼写错误,或者让它自己提交,我更喜欢它。提交没有任何问题,包含单个更改,另一方面,提交通常只包含一个“主题”。你可以建立一个“很多拼写错误”-commit;)

答案 1 :(得分:4)

重写公共历史是一个坏主意

请注意,重写历史记录可能会导致很多问题。如果有其他开发人员/结账可能已经取消了你的错字提交,那么不要做你所要求的。问题是,如果我现在从你的主人那里拉出来 - 我有你的borked承诺。如果你重写历史记录,我会再次尝试 - 我的结账时间不再是主分支的时间线。绝对最低限度令人困惑。如果我修正了正常的方式(重新定位)并推送到掌握 - borked提交将被放回到主分支的历史记录中,并且在下一次拉动时 - 它也会回到历史记录中。

提交修改

不要忘记......

要更新上次提交,请执行以下操作:

git checkout master
git pull

hack hack hack

git commit -va --amend
#................^

这将更新您上次提交的内容。

更新遥控器以使其与本地主分支匹配

git push
# READ THE WARNING

git push -f

这将强制更新远程的历史记录以包含更新的提交 - 并删除旧版本的“相同”提交。这就是事情,在这种情况下,你输了,git警告你。