ホームページ  >  記事  >  開発ツール  >  gitでファイルの変更をキャンセルするにはどうすればよいですか?提出をキャンセルするにはどうすればよいですか?

gitでファイルの変更をキャンセルするにはどうすればよいですか?提出をキャンセルするにはどうすればよいですか?

PHPz
PHPzオリジナル
2023-04-03 09:21:484021ブラウズ

開発者として、Git の使用は不可欠です。 Git では、ファイルの変更をキャンセルしたり、コミットを取り消したりする必要がある状況によく遭遇します。ファイルを手動で変更するか、コマンド ラインを使用することでファイルの変更を元に戻すことができますが、Git には、このような状況に対処するための非常に便利な方法がいくつか用意されています。

この記事では、Gitを使ってファイルの変更をキャンセルする方法やコミットを元に戻す方法を詳しく紹介します。

Git がファイルの変更をキャンセルする

状況 1: ファイルが一時記憶領域に追加されていない

ファイルを変更したが、まだ Git に追加していない場合領域にある場合、変更をキャンセルするのは非常に簡単です。次のコマンドを使用して、ファイルの変更を元に戻すことができます:

git checkout -- <file>

このコマンドは、ファイルを最後に送信された状態に復元します。たとえば、test.txt という名前のファイルを編集していて、それに変更を加えた場合、次のコマンドを使用して変更をキャンセルできます。

git checkout -- test.txt

これにより test.txt ファイルは最後に送信されたときの状態に復元されます。

シナリオ 2: ファイルがステージング領域に追加されている

ファイルを Git ステージング領域に追加した場合、変更をキャンセルするのは少し面倒です。次の 2 つのコマンドを使用する必要があります。

git reset HEAD 
git checkout -- <file>

最初のコマンドは Git ステージング領域からファイルを削除し、2 番目のコマンドはファイルを最後に送信された状態に復元します。たとえば、test.txt ファイルを Git ステージング領域に追加して変更した場合、次のコマンドを使用して変更をキャンセルできます。

git reset HEAD test.txt
git checkout -- test.txt

これら 2 つの順序コマンドは非常に重要です。最初に git checkout --test.txt コマンドを使用すると、Git はステージング領域で加えた変更を無視して、ファイルを最後に送信された状態に復元します。

状況 3: ファイルは送信されました

ファイルを Git に送信した場合は、git revert コマンドを使用して変更を元に戻す必要があります。このコマンドは、前のコミットをキャンセルする新しいコミットを作成します。たとえば、master ブランチで test.txt という名前のファイルを送信して変更した場合、次のコマンドを使用して送信を取り消すことができます。

git revert HEAD

このコマンドにより、このコミットに関する元に戻す情報を入力できるエディターが開きます。直接送信する場合は、次のコマンドを使用できます。

git revert --no-edit HEAD

これにより、失効が直接送信されます。

コミットを元に戻す

送信したコードに問題があることに気づいたり、コードをバージョン管理に追加したくない場合があります。この場合、コミットを取り消す必要があります。

状況 1: まだリモート ウェアハウスにプッシュされていない

コードをローカルに送信したが、リモート ウェアハウスにプッシュしていない場合は、次のコマンドを使用して送信を取り消すことができます。

git reset HEAD~1

このコマンドは、最新の送信を取り消し、コードを最後の送信の状態に戻します。

シナリオ 2: すでにリモート ウェアハウスにプッシュされている

コードをリモート ウェアハウスにプッシュした場合は、次のコマンドを使用して送信を取り消すことができます:

git revert <commit_id>

このうち <commit_id> は取り消したいコミットの識別子です。このコマンドは、新しいコミットを作成し、その中で指定されたコミットをキャンセルします。

結論

Git は、ファイルの変更をキャンセルし、コミットを取り消すための非常に便利な方法を提供します。この記事で説明するコマンドを使用すると、このような状況に簡単に対処できます。もちろん、これらのコマンドを使用するときは、誤操作を避けるために細心の注意を払う必要もあります。

以上がgitでファイルの変更をキャンセルするにはどうすればよいですか?提出をキャンセルするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。