コードのバージョン管理に Git を使用する場合、以前の送信を取り消す必要が避けられません。 Git には、送信されたコードの変更を取り消すいくつかの方法が用意されており、その 1 つが revert コマンドです。 revert コマンドを使用すると、1 つ以上の以前のコミットをロールバックして、ローカル コード ベースを指定した状態に戻すことができます。
この記事では、Git の revert コマンドを使用して以前の送信を取り消す方法と、一般的な問題の解決策を紹介します。
1. さまざまなタイプの取り消し操作
Git には、リセットと元に戻すという 2 つの主要なバージョン ロールバック操作があります。
リセット操作は、ローカル コミットを元に戻し、HEAD ポインターを目的のコミット バージョン (ハード リセット) にポイントするか、HEAD ポインターを目的のバージョンのパスに移動する (ソフト リセット) ために使用されます。
revert コマンドは、以前のコミットを取り消し、新しいコミットを作成して変更を元に戻すために使用されます。このメソッドは、他のブランチにマージされたコミットを元に戻す場合に特に便利です。
2. revert を使用して以前の送信を取り消します
revert コマンドを使用すると、以前の送信を取り消し、新しい送信を作成して変更を復元できます。
このコマンドでは次の構文を使用できます:
$ git revert commit_id
このうち、commit_id は取り消される送信の ID です。これは正確な値である必要があります (git log コマンドで確認できます)。
このコマンドは、新しいコミットを作成し、指定されたコミットによってもたらされた変更を元に戻し、他の人が元に戻された場所を理解できるように、新しいコミットをターゲット ブランチにマージします。
たとえば、ファイルに行を追加して変更をコミットし、変更を元に戻したい場合は、次のコマンドを入力できます:
$ git revert a1b2c3d4
これにより、ID を使用した送信が元に戻ります。 a1b2c3d4 および新しいコミットを作成して変更を元に戻します。
3. revert コマンドの一般的な問題と解決策
revert コマンドを使用する場合、注意が必要な一般的な問題がいくつかあります。
revert コマンドでマージ競合が発生した場合、Git は手動マージを実行するように求めるプロンプトを表示します。手動でマージする必要がある場合は、git merge を使用してマージできます。
(コミット全体ではなく) コミットからの部分的な変更を元に戻す場合は、 git add および git commit コマンドを送信します。これを行うには、まず新しいブランチを作成し、元に戻したいコミットの場所に移動します。
$ git checkout -b temp_branch commit_id
次に、次のコマンドを使用して変更を表示します。
$ git diff HEAD^ HEAD
次のコマンドを使用します。指定した変更のみを元に戻すコマンド:
$ git checkout HEAD^ -- path/to/file $ git checkout -p HEAD@{1} path/to/file
最後に、 git add コマンドと git commit コマンドを使用して新しいコミットを作成し、ターゲット ブランチにマージします:
$ git checkout origin/destination $ git merge temp_branch
誤って revert コマンドを使用して間違ったコミットを取り消してしまった場合は、git reflog コマンドを使用して以前のコミット履歴を見つけ、git restart コマンドを使用して変更をロールバックしたり、完全に元に戻したりすることができます。 。
$ git reflog $ git reset HEAD@{1}
または、次のコマンドを使用して前のコミットにロールバックします:
$ git reset --hard HEAD^
この記事では、Git の revert コマンドを使用して以前のコミットを取り消し、変更を元に戻す方法と、いくつかの一般的な問題とその解決策。これらの操作はコード ベースをより適切に管理するのに役立ち、それによって作業効率が向上します。
以上がGit revert コマンドを使用して以前のコミットを取り消す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。