検索

ホームページ  >  に質問  >  本文

git - コミット後に何かが完璧ではないことがわかり、再度コミットする前に改善したい場合、前のコミットをキャンセルするにはどうすればよいですか?

または、後でコミットして前のものとマージすることもできます。

phpcn_u1582phpcn_u15822794日前635

全員に返信(3)返信します

  • ringa_lee

    ringa_lee2017-05-02 09:27:39

    コミットメッセージを変更したい場合は、git commit -amendを使用してください。 commit message ,用 git commit -amend

    如果是想加点内容,不要动上一次的 commit(就叫 commit-1 吧),接着修改,然后提交一个新的 commit (commit-2)。然后 git rebase -i HEAD~~,会出现如下内容:

    pick commit-1-hash commit-1-message
    pick commit-2-hash commit-2-message

    将第二个 pick 改成 squash 保存退出,出现:

    # first commit message:
    commit-1-message
    
    # second commit message:
    commit-2-message

    删掉这些东西,改成你想要的 commit message 保存并退出即可。

    然后你可以 git log 查看一下,两个 commit 已经合并成为新的 commit 了。

    可以参考:
    5. 用rebase -i 汇合提交

    ===

    BTW,如果你前一次 commit 已经推到远程分支了,而且该分支有人跟你合作,那么最好还是不要修改了。因为你修改之后,就跟远程分支不同步了,所以需要 git push -f origin your-local-branch

    コンテンツを追加したい場合は、最後の commit には触れずに (commit-1 と呼ぶだけです)、変更してから新しい を送信してください。 >コミット (commit-2)。 git rebase -i HEAD~~ を実行すると、次の内容が表示されます: 🎜 リーリー 🎜 2 番目の picksquash に変更し、保存して終了すると、以下が表示されます: 🎜 リーリー 🎜これらを削除し、必要な commit message に変更し、保存して終了します。 🎜 🎜その後、git log を使用して、2 つの commit が新しい commit にマージされていることを確認できます。 🎜 🎜以下を参照できます。
    5. rebase -i を使用してマージして送信します🎜 🎜===🎜 🎜ところで、以前の commit がリモート ブランチにプッシュされており、そのブランチで一緒に作業している人がいる場合は、それを変更しないことをお勧めします。これを変更すると、リモート ブランチとの同期が失われるため、送信するには git Push -f Origin your-local-branch を実行する必要があります。これにより、他の人のブランチが同期されなくなる可能性があります。リモートブランチと同期していません。 🎜

    返事
    0
  • ringa_lee

    ringa_lee2017-05-02 09:27:39

    git commit —修正

    返事
    0
  • 滿天的星座

    滿天的星座2017-05-02 09:27:39

    最後の送信を取り消すために使用できます

    リーリー

    返事
    0
  • キャンセル返事