gitでコミット操作をキャンセルする方法

PHPz
リリース: 2023-04-04 11:51:10
オリジナル
14308 人が閲覧しました

Git をバージョン管理に使用する場合、コミット操作は必須の手順です。これは、現在のコードの変更をローカル ウェアハウスに保存することを意味します。ただし、実際に使用すると、時々問題が発生し、コミット操作をキャンセルする必要があることがあります。この記事ではコミット操作をキャンセルする方法を紹介します。

追加操作のキャンセル

git commit の前に、git add コマンドを使用してステージング領域に変更を追加し、送信の準備をする必要があります。 git add コマンドの実行後に変更エラーが見つかり、その変更をステージング領域に送信したくない場合は、git replace HEAD コマンドを実行して追加操作をキャンセルできます。このコマンドは、指定されたファイルまたはディレクトリをステージング領域から削除しますが、その変更は作業ディレクトリに残ります。

たとえば、次のコマンドを実行して、ステージング領域にファイルを追加しました:

git add index.html
ログイン後にコピー

このファイルは送信したくないので、次のコマンドを使用して追加をキャンセルできます。操作:

git reset HEAD index.html
ログイン後にコピー

コミット操作のキャンセル

すでにコミット操作を実行していたが、送信情報が間違っているか、送信されたコンテンツが間違っていることが後で判明した場合は、それを修正して再度送信する必要があります。その後、最後のコミット操作をキャンセルする必要があります。

git では、通常、コミット操作をキャンセルするには 2 つの方法があります。git revert コマンドを使用するか、git replace コマンドを使用します。

git revert コマンドを使用する

git revert コマンドは、特定の送信を元に戻すために使用されます。送信履歴は変更されませんが、元に戻すための新しい送信が作成されます。前の投稿。送信します。このメソッドは、コードがパブリック リポジトリにプッシュされている場合の使用に適しています。

送信を取り消すには、次のコマンドを実行します。

git revert <commit-id>
ログイン後にコピー

このうち、commit-id は、キャンセルする必要がある送信の ID 番号を表します。たとえば、最後のコミットを取り消したい場合は、次のコマンドを使用できます:

git revert HEAD
ログイン後にコピー

このコマンドを実行すると、git によってテキスト エディタが開き、コミット情報を編集して元に戻す操作を確認できるようになります。 。

複数のコミットを元に戻す場合は、複数のコミット ID を指定できます。例:

git revert <commit-id1> <commit-id2> <commit-id3>
ログイン後にコピー

git restart コマンドを使用します

git replace コマンドもコミット操作をキャンセルするために使用できますが、コミット履歴が変更されるため、ローカル ウェアハウスでの操作にのみ適用され、リモート ウェアハウスにプッシュされた操作には使用できません。

送信を取り消すには、次のコマンドを実行します。

git reset <commit-id>
ログイン後にコピー

このうち、commit-id は、キャンセルする必要がある送信の ID 番号を表します。たとえば、最後の送信を取り消したい場合は、次のコマンドを使用できます:

git reset HEAD~1
ログイン後にコピー

このコマンドを実行すると、最新の送信が削除され、その変更は作業ディレクトリに保持されます。このメソッドはコミット操作をキャンセルするだけであり、対応するコード変更は削除されないことに注意してください。コードを特定のバージョンにロールバックする必要がある場合は、git checkout コマンドを使用できます。

概要

この記事では、Git でコミット操作をキャンセルする方法 (追加操作のキャンセル、git revert および git restart コマンドを使用したコミット操作の取り消しなど) を紹介します。コードのバージョン管理が正確であることを保証するには、実際の状況に応じて適切な方法を選択する必要があります。

以上がgitでコミット操作をキャンセルする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート