因此,我偶尔会犯错误,即按下 up 键的次数太多或太少,最终导致我的 repo 中出现额外的提交,然后我必须处理这些提交git commit -am "changed foo"
。./foo_test
是否可以让 git 拒绝其消息与先前提交的提交的消息匹配的任何提交?
问问题
3295 次
2 回答
6
与其直接拒绝它,为什么不直接撤消它呢?
# Leaves all changes as 'changes to be committed', but
# uncommits the most recent commit
git reset --soft HEAD~
# Leaves all changes as changed working copy files (ie,
# unstages them as well)
git reset HEAD~
# Lets you edit the most recent commit message
git commit --amend
# Lets you do bulk surgery on your revision history, deleting
# or merging dozens of commits in one operation
git rebase -i <last good commit, eg origin/mainline>
如果您真的希望这被彻底拒绝,请查看.git/hooks/prepare-commit-msg
- 您可以在此处添加一个脚本以获取最新的提交消息(通过git cat-file commit HEAD
)并将其与传入的提交消息进行比较。如果它们匹配,exit 1
则中止提交。
于 2012-04-18T06:53:31.347 回答
0
使用提交后挂钩脚本进行检查。
如果相同,则 git reset --mixed HEAD~1
于 2012-04-18T06:58:17.030 回答