10

最後のコミットをロールバックして、後でテストするために別のブランチに入れる方法はありますか? 完全に破棄したくないいくつかの変更を行いました。さらにテストするために、それらを別のブランチに保管したいだけです。

誰でもこれで私を助けることができますか?

4

3 に答える 3

19

はい、これを達成できます-現在のブランチから離れて新しいブランチを作成してコミットを保持し、元のブランチにチェックアウトしてから、元のブランチでコミットをロールバックします。

したがって、現在のブランチから (それを と呼びましょうcurrent)、新しいブランチを作成してチェックアウトしますseparate

git checkout -b separate

これにより、新しいコミットを持つ新しいブランチが作成されます。 separate元のブランチに戻ります

git checkout current

このブランチでは、最後のコミットをロールバックできるようになりました

git reset --hard HEAD~1

後でその古いコミットにアクセスしたい場合は、 agit checkout separateを実行する必要があり、コミットはそのブランチで利用できるはずです。

于 2013-11-17T16:16:54.520 に答える
4

これは、ブランチを切り替えることなく、2 つのステップで実行できます。どうぞ。

  1. 現在のブランチから新しいブランチを作成して、現在の状態を脇に置きます。

    git branch feature_maybe
    
  2. 現在のブランチの最後のコミットを元に戻します。

    git reset --hard HEAD^
    
于 2013-11-17T16:25:40.487 に答える
0

はい - を使用して新しいブランチをチェックアウトし、 を使用git checkout -b <new branch name>して元のブランチに切り替えてから、元のブランチをコミットに戻しますgit checkout <original branch name>git reset --hard HEAD~1(ブランチを移動するときはいつものように、 のようなプログラムを使用して段階的に実行していることを視覚化するのが最も安全ですgitk。)

于 2013-11-17T16:17:16.357 に答える