Git]RevertとReset|IntelliJ ResetとRevertを使用してコミットを削除


コミット解除


襟に提出すると、提出をキャンセルしたい場合があります.この場合、多くの青少年開発者は慌て、強制リセット後にリフレッシュし、以前のコードを失うこともあります.今日は、提出をキャンセルする方法と、IntelliJ Toolでどのように実践するかについて議論します.
まず、コミットをキャンセルする方法は2つあります.ResetとRevertです.

  • Reset:過去の特定のCommitを削除します.

  • Revert:Commitをそのままにし、Commitを追加してCommitをキャンセルします.
  • ResetとRevertの長所と短所を見てみましょう


    上の2つの方法には長所と短所がある.

  • Reset:コミット履歴がきれいになりました.ただし、コラボレーション時に以前の他人のレコードが削除されたり、競合が発生したりする可能性があります.

  • Revert:履歴の提出は少し汚いかもしれません.しかし、何か問題があるか確認できます.また,コラボレーション時に削除や競合する確率が低下する.
  • したがって、自分が開発したプロジェクトまたはブランチを使用している間に、このコミット・レコードを削除しても問題が起こらないことを保証する場合は、Resetを使用します.コラボレーションまたはコミット・レコードを消去している場合は、問題が発生する可能性があります.Resvertを使用します.

    まず、Resetについて詳しく説明しましょう。


    Resetには3つのモードが存在する.

  • ソフトウェア:ファイルをstaging領域に戻します.  > コミット前のステータス

  • mixed(default):ファイルを作業ディレクトリ>追加前の状態に戻す

  • hard:ファイル に表示されます. tracked ファイル working 目次 削除
  • また、キャンセルするコミットの数を選択することもできます.上記3つのモードではdefault値は混合して行われる.

  • HEAD~n:現在からn

  • HEAD:最新コミットのみ
  • git reset --soft [commit ID] 
    git reset --mixed [commit ID]
    git reset --hard [commit ID]
    git reset HEAD~10 
    git reset HEAD^

    IntelliJでResetを試してみる

  • の下部にあるGitをクリックして、必要なブランチのコミットレコードを開きます.
  • 戻るコミットを右クリックし、現在のブランチto Hereをリセット...をクリックします.
  • 4つの
  • モードで目的のモードをクリックします.
  • ソフトウェアモードが選択されているため、リセットしたいファイルはまだ存在します.
  • 次に、Revertについて詳しく説明します。


    Revertの方が簡単です.簡単に戻りたいcommit IDを記録するだけです.
    git revert [commit ID]

    IntelliJでRevertを試してみる

  • 同様に次のGitに進んだ後、希望するブランチを開いて履歴を提出する
  • に戻るコミットを右クリックし、RevertCommitボタンをクリックします.