Git Revertの使い方 質問する

Git Revertの使い方 質問する

どのようにgit revert使用されますか?

これは重複した質問のように聞こえるかもしれませんが、人々が尋ねると、答えは多くの場合、git reset次のように使用します。Git で SHA ハッシュによってコミットを元に戻しますか?

そして、誰かが使い方を尋ねると、git reset人々はgit revert次のように答えます。Git - ロールバックの方法

気がつくと、8 人の人物が現れ、それぞれ独自の方法で OP を救おうとしますが、そのすべてがあなたには理解できません。

それでは、概要に沿って、 の初心者向けガイドを書いてみましょうgit revert

シナリオ: マスターに 2 回コミットしましたが、問題があります。プッシュしたため、他の人に悪い変更が伝わりました。

元に戻したい。これは自分でコードで手動で元に戻せるものではなく、ウィザードやパッケージ マネージャーがさまざまな変更を行った場合、すべてを元の状態に戻したいだけなのです。

これがソース管理のすべてです。きっと簡単です。

わかりました。 を使用しますgit revertが、どのように使用しますか?

を実行した後git revert、何か他の操作を行う必要がありますか? revert による変更をコミットする必要がありますか、それとも revert によってリポジトリに直接コミットされるのでしょうか?

当然、もう一度プッシュする必要があり、おそらくチームに失敗したことを報告する必要があるでしょう。

ベストアンサー1

git revertは新しいコミットを作成します

git revert既存のコミットの反対の新しいコミットを作成するだけです。

元に戻されたコミットが存在しなかったかのように、ファイルは同じ状態のままになります。たとえば、次の簡単な例を考えてみましょう。

$ cd /tmp/example
$ git init
Initialized empty Git repository in /tmp/example/.git/
$ echo "Initial text" > README.md
$ git add README.md
$ git commit -m "initial commit"
[master (root-commit) 3f7522e] initial commit
 1 file changed, 1 insertion(+)
 create mode 100644 README.md
$ echo "bad update" > README.md 
$ git commit -am "bad update"
[master a1b9870] bad update
 1 file changed, 1 insertion(+), 1 deletion(-)

この例では、コミット履歴に 2 つのコミットがあり、最後のコミットは間違いです。git revert を使用します。

$ git revert HEAD
[master 1db4eeb] Revert "bad update"
 1 file changed, 1 insertion(+), 1 deletion(-)

ログには 3 つのコミットが含まれます。

$ git log --oneline
1db4eeb Revert "bad update"
a1b9870 bad update
3f7522e initial commit

したがって、何が起こったかについては一貫した履歴がありますが、ファイルは不正な更新が発生しなかったかのようです。

cat README.md 
Initial text

元に戻すコミットが履歴のどこにあるかは関係ありません (上記の例では、最後のコミットが元に戻されますが、どのコミットも元に戻すことができます)。

最後の質問

その後何か他のことをしなければなりませんか?

A は単なるgit revert別のコミットなので、たとえば、他のユーザーが変更をプル/フェッチ/マージできるようにリモートにプッシュすれば完了です。

元に戻した変更をコミットする必要がありますか、それとも元に戻すとリポジトリに直接コミットされますか?

git revert コミットです- 単一のコミットを元に戻すことが目的であれば、追加の手順はありません。

当然、もう一度プッシュする必要があり、おそらくチームに失敗したことを報告する必要があるでしょう。

実際、リモートが不安定な状態にある場合は、修正を取得するためにプルする必要があること (コミットを元に戻す) をチームの他のメンバーに伝えるのが正しい方法です :)。

おすすめ記事