git を使用してコードを管理する場合、必然的に間違ったコードを送信することになります。これらのコミットを撤回するにはどうすればよいでしょうか?この記事では、gitを使ってコミットを撤回する方法を紹介します。
git では、履歴レコードを変更する 2 つの方法があります:
最初の方法はより危険です。送信されたコンテンツを変更すると、コード ベースの履歴が変更され、他の人のコードに影響を与えることになるからです。
コミットを取り消すことは、履歴レコードを変更せず、その後に新しいレコードを追加するだけであるため、より安全な方法です。
git を使用して最新の送信を元に戻すには、次のコマンドを使用できます:
$ git reset HEAD~
このコマンドは、最新の送信をキャンセルし、コードを返します。最後のコミット以降の状態までスクロールします。このコマンドはコミットを削除するのではなく、追跡されていないコミットに変えるだけであることに注意してください。
最後のコミットの変更を破棄して履歴から削除する場合は、次のコマンドを使用できます:
$ git reset --hard HEAD~
このコマンドは、最新のコミットを元に戻すだけでなく、現在のコミットすべての変更を削除します。このコマンドはすべての変更を元に戻せない状態で削除するため、重要な変更がないことを確認する前に使用する必要があることに注意してください。
初期のコミットを取り消したい場合は、git の revert
コマンドを使用する必要があります。このコマンドは、指定されたコミットに対するすべての変更を元に戻し、この操作用の新しいコミットを作成します。
送信 abc123
を取り消したいとします。次のコマンドを使用できます。
$ git revert abc123
このコマンドは、abc123## によって送信されたすべての変更を元に戻します。 # してから作成します。新しいコミットを実行すると、以前の状態に戻ります。
コマンドを使用して新しい送信を作成し、プッシュされた送信を元に戻すことができます。 <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>
概要
以上がidea git でコミットを取り消す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。