commit した直後に、「まちがって、develop に直に commit しちゃった・・・」となることがあります、直前の commit のコミット先を変更する方法を説明します。
Sponsor Link
環境&対象
以下の環境で動作確認を行なっています。
- git version 2.30.1 (Apple Git-130)
git の branch 切り忘れた / 別の branch に commit しちゃった
git に commit してから、「branch 切り忘れて、develop に commit しちゃった」と気づくことがあります。
場合によっては、checkout するのを忘れて その前に作業していた branch に commit してしまうことも あるかもしれません。
そのような時の対応方法を説明します。
branch を作り、develop の commit を無かったことにする
「commit を無かったことにする」の応用編(?) です。
[git] 困った時のコマンド集(直前の commit をなかったことにしたい)
git branch & reset
以下の手順となります。
まず、branch を作ります
% git branch newFeature
ここでは、”newFeature”という名前の branch を作っています。
develop 上の最後の branch を無かったことにする
// (1)
% git checkout develop
// (2)
% git reset --hard HEAD^
コード解説
- 念の為、develop branch にいることを確定させます
- develop 上の 最後の commit を無かったことにします。
こうすることで、最後の commit は、newFeature 上に残り、 develop 上からは 消えることになります。
注意
リモートに push してしまった commit を無かったことにしてはいけません。
まとめ:直前の commit を別 branch にしたい
直前の commit を別 branch にしたい
- 新しい commit を行なった箇所で、新しい branch を作成する
- git reset で develop 上の commit を無かったことにする
- 注意:リモートに push してしまった commit を無かったことにしてはいけない
説明は以上です。
不明な点やおかしな点ありましたら、こちらまで。
Sponsor Link