git自动提交

当您想“修复”历史记录中的一次提交时,Git提交修复和自动压缩是有用的功能。

如果发现要更改Git历史记录中的单个提交,则需要根据要更改的提交手动提交并执行git rebase 。 Fixup提交产生的​​提交通过在提交中附加消息fixup!修复历史记录中的特定提交fixup! 。 然后,使用--autosquash选项进行交互式重新设置--autosquash把原始提交和--autosquash合并到一个新的提交中,并为后续的提交--autosquash

请参阅以下历史记录作为示例:

3320dec (HEAD) commit 4
03c9685 commit 3
041c401 commit 2
981fffd commit 1
22f759b (tag: base) initial commit

我们可以修改981fffd commit 1引入的更改,并通过git commit -a --fixup 981fffd将它们添加为git commit -a --fixup 981fffd

c24491b (HEAD) fixup! commit 1
3320dec commit 4
03c9685 commit 3
041c401 commit 2
981fffd commit 1
22f759b (tag: base) initial commit

为了清理历史记录,我们使用git rebase --autosquash --interactive base交互式地对我们的更改进行了git rebase --autosquash --interactive base 。 这将再次产生干净的历史记录:

caeb1d8 (HEAD) commit 4
2f6d4da commit 3
8207cf2 commit 2
551ef47 commit 1
22f759b (tag: base) initial commit

现在已更改22f759b之后的提交哈希值-它们基于不同的提交。

为避免破坏同事的历史记录,您仅应更改分支的历史记录,例如,如果尚未推送提交,或者正在使用专用的远程分支机构,则可以通过rebase进行更改。

翻译自: https://www.javacodegeeks.com/2018/04/git-commit-fixup-and-autosquash.html

git自动提交

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐