|
この記事は、WeChat公式アカウント「JS日语問」(著者:慧慧)からの転載です。転載の許可については、「JS日语問」公式アカウントまでお問い合わせください。 I. それは何ですか?git リセット`reset` 関数は以前のバージョンに戻すために使用され、使用されなくなったコミットを破棄できます。 放棄を実行する際には、影響範囲に応じて異なるパラメータを指定する必要があります。インデックスを復元するか、作業ツリーのコンテンツを復元するかを指定できます。 git を元に戻す現在のコミットの後に新しいコミットを追加すると、前のコミットによって行われたすべての変更が無効になります。過去の履歴は変更されず、主に以前に公開されたコミットを安全に元に戻すために使用されます。 II. 使い方git リセットIDが指定されていない場合は、デフォルトでHEADが使用されます。IDが指定されている場合は、指定されたIDに基づいてステージング領域または作業領域の内容が変更されます。
ログ ID は、次のように `git log` を使用して照会できます。
一般的なコマンドは次のとおりです。
git を元に戻す`git reset` と同様に、`git revert` は操作を元に戻します。この操作の前後のすべてのコミットと履歴は保持され、元に戻されたコミットは以下のように最新のコミットとして扱われます。
以前のバージョンを元に戻すには、次のコマンドを使用します。
以前のものは次のように取り消されました:
III. 相違点`revert` はパブリックコミット (すでにプッシュされたものなど) を元に戻す安全な方法として設計されていますが、`git reset` はローカルの変更をリセットするように設計されています。 2 つのコマンドは目的が異なるため、実装も異なります。reset は変更セットを完全に削除しますが、undo は元の変更を保持し、新しいコミットを使用して元に戻します。 両者の主な違いは次のとおりです。
`git revert` は、リバースコミットによって以前のコミットを「無効化」します。そのため、後で古いブランチをマージする際に、以前のコミットのコードがまだ残っており、再マージが成功しません。 ただし、`git reset` は特定のブランチから特定のコミットを削除するだけです。そのため、古いブランチに再度マージする際には、これらのロールバックされたコミットも含める必要があります。 後で元に戻したブランチのコードが必要になった場合は `git revert` を使用します。ブランチが間違って作成され、他の人にエラーを発見されたくない場合は `git reset` を使用します。 参考文献 https://juejin.cn/post/6844903542931587086 https://marklodato.github.io/visual-git-guide/index-zh-cn.html#reset |