プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

Git Revert Commit:ステップバイステップガイド

git revertコマンドはコミットを元に戻すので、リポジトリを前のコミットに戻すことができます。コミットを削除する代わりに、revertは、公開されたコミットの変更を元に戻す新しいコミットを作成します。これにより、プロジェクトの履歴の一部として最初のコミットが保持されます。


Gitリポジトリで作業しているときに、Gitリポジトリに保存する準備ができていないコードで誤ってコミットを作成する可能性があります。

そこで、gitrevertコマンドが登場します。gitrevertコマンドを使用すると、undoを実行できます。 リポジトリを前のコミットに戻すことができるようにするためのコミット。

このチュートリアルでは、例を使用して、コードを元に戻す方法と、gitrevertコマンドを使用してコードを元に戻す方法について説明します。このチュートリアルを読み終えると、gitrevertcommitコマンドを使用してコードを元に戻すエキスパートになります。

コードを元に戻す

Gitリポジトリを使用しているときに、コミットを間違えたことに気付く場合があります。

たとえば、新機能の作業を終えたばかりで、修正が必要なバグがあることに気付いたとします。バグ修正をコミットすると、開発中の新機能の作業ディレクトリがコミットされていることにも気付くでしょう。

これは、コミットにバグ修正と新機能の両方が含まれていることを意味します。これは、プロジェクトの他の共同作業者が理解するのを混乱させる可能性があります。これらの変更を同時にコミットするのではなく、2つの別々のコミットに含める必要がありました。

このシナリオでは、コミットをプッシュする前の状態にリポジトリを戻すことができます。これにより、最後のコミットを元に戻すことで、コミットをgitにプッシュする別の機会が与えられます。

参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。

平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。

Git復帰コマンド

git revertコマンドを使用すると、undo コミット。ただし、プロジェクトからコミットを削除する代わりに、git revertコマンドは、最後の2つのコミット間の変更を検出し、それらの変更を元に戻す新しいコミットを作成します。

git revertコマンドを使用すると、リポジトリのプロジェクト履歴を保持できるので便利です。コミットを完全に削除するのではなく、リポジトリを別のコミットに戻すことができるため、リポジトリにプッシュしたすべてのコミットの正確な記録を保持できます。

最後のコミットを元に戻したい状況では、gitrevertコマンドを使用する必要があります。最後のコミットに必要な変更を手動で行う代わりに、コミットを元に戻して、新しいコミットをコードベースにプッシュすることができます。

gitrevertコマンドの構文は次のとおりです。

 git revert 

このコマンドがどのように機能するかを説明するために、例を見ていきましょう。

Git復帰の例

ローカルマシンには、README.mdという1つのファイルを含むリポジトリの例があります。コミットにプッシュするファイルに変更を加えました。このコードを使用してこれを行うことができます:

 git commit -m "docs:README.mdを作成者情報で更新" 

このコマンドを実行すると、メッセージdocs: Update README.md with author infoを含むコミットが作成されます。 。また、README.mdファイルに別の変更を加えました。このファイルは、次のコマンドを使用してリポジトリにコミットします。

 git commit -m "docs:投稿による作成者の順序の更新" 

このコマンドは、リポジトリに別のコミットを作成します。 git log –pretty =onelineコマンド(コミットの短いリストが表示されます)を使用すると、リポジトリ履歴に2つのコミットがあることがわかります。

 6f52d877873e7d3b52c929647384dfdf2488da22(HEAD-> master)ドキュメント:投稿者の順序を投稿によって更新57d763663e619088159bb7629243456f88feab79ドキュメント:README.mdを作成者情報で更新

ここで、最後のコミットを元に戻すことにしたとします。 README.mdファイルに作成者を書き込んだ順序が正しくないことがわかったため、最後のコミットをプッシュする前の状態にリポジトリを戻す必要があります。

次のコマンドを使用してこれを行うことができます:

 git revert HEAD 

このコマンドを実行すると、デフォルトのテキストエディタが開き、コミットのメッセージを作成するように求められます。このコマンドでは、HEADは最新のコミットを参照します。この例では、メッセージrevert author order commitを入力します 。次に、コマンドは次を返します。

 [masterb66c29a]著者の順序を元に戻すcommit"docs:投稿による作成者の順序の更新" 1つのファイルが変更され、1つの削除(-)

ここで、git log –pretty =onelineコマンドを実行すると、新しいコミットが作成されたことがわかります。

 b66c29a8c4c226fa9ae8cd8f9e086c0a73e6ecfe(HEAD-> master)revert author order commit "docs:Update order of authors by Contributors" 6f52d877873e7d3b52c929647384dfdf2488da22 docs:Update order of authors by Contributors57d763663e6190 

コミット履歴には、3つのコミットがリストされています。最後のコミットを削除する代わりに、gitrevertコマンドは前のコミットの変更を元に戻す新しいコミットを作成しました。これは、リポジトリにプッシュしたすべてのコミットの完全な履歴がまだ残っていることを意味します。

git revertコマンドを実行するには、コミット参照が必要です。この場合、リポジトリを最後のコミットに戻すHEADを指定しました。

別のコミットに戻したい場合は、そのコミットのハッシュ値を指定できます。したがって、HEADと述べる代わりに このコマンドでは、git logコマンドによって返されたハッシュを使用して、選択したコミットに戻すことができます。リポジトリを特定のコミットに戻すために使用するコマンドの例を次に示します。

 git revert 57d763663e619088159bb7629243456f88feab79 

このコマンドは、SHAハッシュ57d763663e619088159bb7629243456f88feab79を使用してリポジトリをコミットに戻します。 。このリポジトリでは、そのハッシュは、リポジトリに対して行った最初のコミットに対応しています。

GitRevertとReset

revertコマンドとresetコマンドはどちらも、Gitリポジトリ内の以前のコミットからの変更を元に戻すために使用されます。ただし、これらのコマンドの動作はわずかに異なることに注意してください。

git revertコマンドライン操作は、前のコミットを元に戻すために使用されます。 git revertを実行すると、2つのコミット間の変更が取り消されます。次に、変更が取り消された後、リポジトリ内のコードを含む新しいコミットが作成されます。

一方、git resetコマンドは、特定の範囲内のすべてのコミットを削除することにより、リポジトリを以前の状態に戻します。したがって、git resetを実行して前のコミットを参照すると、リポジトリの現在の状態とそのコミットの間のすべてのコミットが削除されます。

多くの場合、コミットをリセットするよりも、コミットを元に戻す方が優先されます。主な理由は、gitrevertがプロジェクトの履歴を変更しないためです。これにより、開発者は、プロジェクトに加えられたすべての変更の正確な記録を維持できます。

さらに、git revertコマンドを使用すると、リポジトリの履歴の特定の時点で個々のコミットに戻すことができます。一方、git resetコマンドは、現在実行中のコミットからのみ機能します。

つまり、リポジトリの履歴のはるか昔にコミットを元に戻したい場合は、その時点より前にすべてのコミットを削除してから、変更をコミットする必要があります。これにより、リポジトリの履歴の正確な記録を保存することが困難になります。これは、Gitなどのソース管理ツールを効果的に使用するための重要な部分です。

結論

git revertコマンドを使用すると、特定のコミット以降にコードリポジトリに加えた変更を元に戻すことができます。コミットを削除する代わりに、git revertコマンドは、現在のコミットと前のコミットの間の変更を識別し、それらの変更を元に戻すための新しいコミットを作成します。

このチュートリアルでは、gitrevertコマンドを使用してGitのコミットを元に戻す方法について説明しました。これで、プロの開発者のようにgitrevertcommitコマンドを使用してコミットを元に戻す準備が整いました。


  1. jQuery find():ステップバイステップガイド

    jQuery find() メソッドはおなじみのように聞こえるかもしれませんが、JavaScriptメソッドのfind()!と混同しないでください。 どちらも物事を「見つける」が、返されるものはまったく異なる可能性がある。 JavaScriptでは、find() メソッドは配列でのみ呼び出すことができます。 後で呼び出されるように、引数としてメソッドに渡される関数であるコールバック関数を取ります。コールバック関数で概説されている要件を満たす最初の要素を見つけて返します。 jQuery find() 方法はかなり異なります。すべてのjQueryメソッドと同様に、セレクターで呼び出され

  2. Git Cherry Pick:ステップバイステップガイド

    初心者の開発者として、私たちは単に繰り返しを通してgitを学びます。 git pull、git push、およびgitcommitがそれぞれ何を意味するのかをすばやく学びます。より大きなプロジェクトでの作業に移行し、チームと協力するにつれて、プロジェクトで作業する個人間でコードベースのバージョン管理履歴をまっすぐに保つのに役立つ、より高度なgitコマンドを学び始めます。 そのようなコマンドの1つは、gitcherry-pickです。 gitcherry-pickコマンドは、あるブランチから特定のコミットを取得し、それらを別の機能ブランチまたはマスターブランチのHEADにアタッチする場合に