Git リバート コミット ローカル

Abdul Jabbar 2023年6月20日
  1. git reset を使用してコミットの変更を元に戻す
  2. git revert を使用してコミットの変更を元に戻す
Git リバート コミット ローカル

ソフトウェア エンジニアや Web 開発者が Git を使用する場合、毎日多くのコードをプッシュして Git リポジトリにコミットしていることは明らかであり、その間に特定のコミットまたは一連のコミットを元に戻したり元に戻したりする必要が生じます。 チーム環境で時々。

このブロックでは、ローカル ブランチへのコミットが完了したら、Git プログラムとコマンドを元に戻すことができる可能性について学びます。

このドキュメントは、私たちが行ったコミットの状況と、リモート ブランチとまだ同期されていないコミットを元に戻すためにどのような元に戻すことができるかを理解しようとしています。

状況に対処する前に、それが必要であり、コミット ファイルと情報を変更する必要があることを確認する必要があります。 場合によっては、コミットを編集したいだけなので、Git のコマンド git amend で編集できます。

ただし、コマンドを元に戻したい場合は、このガイドが最適です。 以下の Git コマンドを使用して効果的に行う方法を学びましょう。

git reset を使用してコミットの変更を元に戻す

最後のコミットを元に戻したい状況は複数ありますが、問題を整理して最後の Git コミットを元に戻す最も簡単な方法は、フラグ --soft を追加してコマンド git reset を使用することです。 Git のこの機能により、ファイルへの変更がローカル ブランチに保持されます。

この目的のために、元に戻したいコミット、つまり HEAD~1 を指定する必要があります。 ここでは、開発者が最後のコミットを元に戻す必要があるのが一般的な方法であるため、最後のコミットを元に戻したいと考えています。 ただし、元に戻したいコミットについて言及することはできます。

このような場合、git reset が最適な選択であり、コマンドは以下にリストされています。

$ git reset --soft HEAD~1

reset オプションを使用すると、現在の HEAD ブランチが指定されたリビジョンに投影され、最近のリビジョンの 1つ前のコミットに戻されます。これにより、最後のコミットが取り消され、変更がファイルの変更されたセクションに自動的に反映されます。

また、フラグ --soft の助けを借りて、行った変更はファイル ステータス セクションに保存され、失われません。

さらに、変更を保存したくなく、もう必要ないと確信している場合は、フラグ --soft の代わりにフラグ --hard を使用します。

これにより、変更が完全に取り消され、すべてが失われます。 変更を完全に削除するためのコマンドは次のとおりです。

$ git reset --hard HEAD~1

git revert を使用してコミットの変更を元に戻す

git revert コマンドは、指定されたコミットの変更を元に戻すのに役立つ新しいコミットを開発するために特に使用されます。 このコマンドは、コミットを削除せずに完全に元に戻すことでよく知られています。

コミットが既にリモート リポジトリにプッシュされている場合は、コミット履歴を上書きしないため、git revert を使用するのが最善かつ最も安全なオプションです。

最後のコミットを元に戻すコマンドは次のとおりです。

git revert <commit to revert>

コミットの名前は、元に戻したい commit id です。 git log である Git のコマンドを介して復元できます。 ほとんどの開発者は、git reset よりも git revert を好みます。これは、同じ元に戻す操作を進める新しいコマンドの助けを借りて変更を元に戻すためです。

以前のコミットを破棄または上書きしません。 reset は魅力のないコミットのすべての記録を破棄し、コミット履歴も変更します。

さて、あなたの場合にどのコマンドが最適かはあなた次第です。

著者: Abdul Jabbar
Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn

関連記事 - Git Revert