idea git でコミットを取り消す方法

王林
リリース: 2023-05-20 10:30:37
オリジナル
5414 人が閲覧しました

git を使用してコードを管理する場合、必然的に間違ったコードを送信することになります。これらのコミットを撤回するにはどうすればよいでしょうか?この記事では、gitを使ってコミットを撤回する方法を紹介します。

Git の元に戻すメカニズム

git では、履歴レコードを変更する 2 つの方法があります:

  • 送信されたコンテンツを変更する
  • 送信を取り消す

最初の方法はより危険です。送信されたコンテンツを変更すると、コード ベースの履歴が変更され、他の人のコードに影響を与えることになるからです。

コミットを取り消すことは、履歴レコードを変更せず、その後に新しいレコードを追加するだけであるため、より安全な方法です。

最新の送信を元に戻す

git を使用して最新の送信を元に戻すには、次のコマンドを使用できます:

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

このコマンドは、最新の送信をキャンセルし、コードを返します。最後のコミット以降の状態までスクロールします。このコマンドはコミットを削除するのではなく、追跡されていないコミットに変えるだけであることに注意してください。

最後のコミットの変更を破棄して履歴から削除する場合は、次のコマンドを使用できます:

$ git reset --hard HEAD~
ログイン後にコピー

このコマンドは、最新のコミットを元に戻すだけでなく、現在のコミットすべての変更を削除します。このコマンドはすべての変更を元に戻せない状態で削除するため、重要な変更がないことを確認する前に使用する必要があることに注意してください。

初期のコミットを取り消す

初期のコミットを取り消したい場合は、git の revert コマンドを使用する必要があります。このコマンドは、指定されたコミットに対するすべての変更を元に戻し、この操作用の新しいコミットを作成します。

送信 abc123 を取り消したいとします。次のコマンドを使用できます。

$ git revert abc123
ログイン後にコピー
ログイン後にコピー

このコマンドは、abc123## によって送信されたすべての変更を元に戻します。 # してから作成します。新しいコミットを実行すると、以前の状態に戻ります。

リモート ウェアハウスにプッシュされた送信を元に戻す

送信をリモート ウェアハウスにプッシュした場合は、他のユーザーの送信に影響を与えないように、別のコマンドを使用して元に戻す必要があります。仕事。

git revert

コマンドを使用して新しい送信を作成し、プッシュされた送信を元に戻すことができます。 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$ git revert abc123</pre><div class="contentsignin">ログイン後にコピー</div></div><div class="contentsignin">ログイン後にコピー</div></div>同様に、git replace<p> コマンドを使用できます。コミットの削除にも使用できますが、リモート リポジトリの履歴を更新するには強制プッシュが必要です。これは他の人の作業に影響を与える可能性があるため、安全であることが確実な場合を除き、この方法を使用しないでください。 <code>概要

git を使用してコードを管理する場合、コミットを元に戻すことは重要なプロセスです。この記事で説明する方法を使用すると、誤った変更を効果的にロールバックし、コード ベースの整合性を維持できます。リモート リポジトリにプッシュされたコミットを取り消す場合は、他の人の作業に影響を与えないように注意してください。

以上がidea git でコミットを取り消す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!