reset/revert


Reset


リセットは時計を再調整し、
戻るコミットのためrepackage toryがリセットされ、コミット後の履歴が消えます.
EX)一般的な開発経験とは異なるが,より分かりやすくするために映画『ユゼルスペクト』を用い,それをネタバレした.

楽しみにしていた映画を前売りしていましたが、ネタバレでがっかりした経験があります.だからドラマを見る前に履歴を回復することにした.私の記憶の内容を変えるように.a 3 bbb 3 cを提出してからの記憶を消したいです.Resetは以下のように使用される.
$ git reset <옵션> <돌아가고싶은 커밋>
いくつかの選択肢があり、よく使われるのはhard、mixed、softの3種類です.前売りや検索映画の履歴a 3 bbb 3 cの後に起こった(前売り券、ポップコーンやサイダーの購入など)変化について、どうすればいいのか.

  • hard
    帰りたい履歴書の後のすべての内容を消去します.このように、チケットを予約したり、ポップコーンやサイダーを購入したりするものはすべて削除され、すべてが初期化されます.
    $ git reset --hard  a3bbb3c
  • hard 옵션으로 reset한 후의 이력

  • soft
    戻る履歴が返されますが、後の内容はクリアされず、その内容のインデックス(またはステージ)も変更されません.再発行できる状態です.記憶を取り戻したものの、チケット、ポップコーン、サイダーは手に持った状態.
    $ git reset --sorf a2bbb3c

    ソフトウェアオプションにリセットしたタイムライン

    ソフトウェアオプションに設定したファイルの状態

  • mixed(選択肢が多くなければmixed)
    履歴書は返却されます.後で変更した内容については保持されますが、インデックスは初期化されます.コミットする場合は、再度変更する内容を追加する必要があります.記憶も回復して、チケットとポップコーンとサイダーは買う気持ちしか残っていません.
    $ git reset --mixed a2bbb3c

    ブレンドオプションにリセットしたタイムライン

    ブレンドオプションに設定したファイルの状態
    コミットによって返されるコミットはsuhによって直接指定されてもよいし、図に示すように15413 dcからa 3 bbb 3 cを返すステップで、現在からいくつかのコミットを返すこともできる.
    $ git reset HEAD~6
    上記のように、今から6つ前に戻る履歴を指定することもできます.
  • Revert


    Revertは戻り状態と見なすことができる.開示されたコミットを復元し、現在作成中のコードのみを表示すると、resetと同じ結果が得られます(ハードオプション条件を除きます).しかし、経歴は違います.(resetと同じネタバレを回復)

    開示されたコミットに戻る
    以前の履歴は変わらず、開示された提出のみが返された.私が明らかにされたことを覚えているように、私はその内容を知らない.△前に述べたデポルスの説明のモナリザの眉の内容はもっと分かりやすいかもしれません.
    ネタバレコメントの返信と転送方法は、次のとおりです.
    # git revert <되돌릴 커밋> 
    git revert 2664ce8
    返すコミットが複数ある場合は、複数の範囲を選択することもできます.上部画像から
    コメントを読むことから映画館を出るまですべて復元したい場合は、次のコードのように範囲を与えることができます.
    $ git revert 2664ce8..15413dc

    reset/revertはいつ使用しますか?


    簡単に考えると、リセットすると履歴書が復元よりも簡単になるので、復元のメリットは多くありません.ただし、タイムラインの真ん中にログを出力させるコミットがあり、コミットをキャンセルしたい場合は、resetを使用して以降のすべてのタイムラインを削除すると、以降のタイムラインがすべて失われる可能性があります.revertを使用して、コミットされたコンテンツのみを返すことができます.また、リモート・ファイル・ライブラリでpushが既に行われている場合は、resetを使用してリセットに戻る前にpushを行うことはできません.(もちろん、forceには恐ろしい選択肢があります.)したがって,既に押したコードであれば,未練を捨てて復元すべきである.