私はときどきアップキーを押す回数が多すぎたり少なすぎたりして、./foo_test
の代わりにgit commit -am "changed foo"
をやります。その結果、私のレポに余計なコミットが必要になります。以前にコミットされたコミットのメッセージと一致するメッセージを持つコミットをgitで拒否させることは可能ですか?前のコミットと同じメッセージでgitコミットを拒否しますか?
2
A
答えて
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
。
0
確認のためにコミット後のスクリプトを使用してください。
同じ場合は、Gitはサイドノートと同じように--mixed HEAD〜1
関連する問題
- 1. Git - リモートリポジトリの拒否コミット
- 2. のgitコマンドラインをコミットすると、メッセージが
- 3. Gitを捨てて、拒否したプルリクエストをGithubにコミットします
- 4. Gerritはabondonedコミットの同じブランチで変更をコミットします
- 5. gitからOrdnerをクローンし、同じordnerの変更をgitにコミットします
- 6. Gitはマージの前にコミットします
- 7. Gitでのマージとコミットの混同
- 8. マージの前にGitコミットのメッセージを修正する
- 9. gitは同じコミットで2つのタグを記述する
- 10. git-svn Kerberosをコミットした後のコミット
- 11. Git Cygwinからsublimeメッセージをコミットします
- 12. コミット情報をgitコミットから削除します
- 13. git subtree push and split "-n <newline>"をコミットしてメッセージをコミットする
- 14. gitのコミットURLをコミットする
- 15. git - 1つのコミットとして一連のコミットをマージする
- 16. git bash:コミットのメッセージを書いた後にスタックしました
- 17. gitインタラクティブ・リベースでコミットを次のコミットとマージするには?
- 18. Git - 前回のコミットにロールバックする
- 19. GITにコミットする前のコード書式
- 20. Git:同じ操作で追加、コミット、rebase/squashを実行します
- 21. VSTS/TFSビルドでGitコミットIDとメッセージを取得するには?
- 22. 前のgitコミットを完全にオーバーライド
- 23. GitとGithub。 Gitubでコミットすることは可能ですか?Gitではコミットできませんか?
- 24. 複数の電子メール(gitコミット)をTFS内の同じユーザーにマップします
- 25. コミットをスキップし、Gitで
- 26. SLOCのgitコミット
- 27. 1回のコミットでSVNとGITにコミットするには?
- 28. 前回のコミットのGit反復部分
- 29. Git:1つ前にコミットする
- 30. git branch roll前のコミットに戻る
をリセット: 'Gitは-a'をコミットがとにかく良い習慣ではないと考えられます。毎回何をコミットするのかを検討することをお勧めします。したがって、共通のワークフローは 'git status'、' git add 'または' git add -a'、そして 'git commit'です。 –
penartur
あなたはpre-commitフックを設定することができます。http://mark-story.com/posts/view/using-git-commit-hooks-to-prevent-stupid-mistakesこの場合、それはちょうどそれを元に戻すのは簡単です。 – ngm