1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

間違えてgitのmaster(main)ブランチに変更を加えてしまった時の対処法

Posted at

前提

うっかり、masterブランチにいるときに変更を加えてしまった。。。ということありますよね。
そんな時、変更ファイルが少ない時はいいのですが、ノリノリで結構変更してしまった。。。という時、その変更したファイル、変更点をそっくり別ブランチへ移動したい!という時の対処法です。

master上書きしたら、怒られちゃうもんね。

まずは気にせずステージングへあげる

まずは変更したファイルをステージングエリアへ追加します。
いつも通りgit addしましょう。ドキドキしてしまいますね。

$ git add ファイル名

または、全部なら以下

$ git add .

いつも通りコミット

またしても、いつも通りコミットします。わかりやすいメッセージをつけるといいかもしれません。

$ git commit -m '別ブランチへ退避'

移動させたいブランチへcheckout

先に、変更ファイルを移動させたいブランチへcheckout(切り替え)しておきましょう。

$ git checkout 切り替え先のブランチ名

ブランチを新しく作って、さらにそこへ切り返したい場合は

$ git checkout -b '作りたいブランチ名'

[重要]いよいよ、masterブランチから移動させる

git logでさっきコミットしたIDを調べる。

$ git log

出たコミットIDを以下に入れる。

$ git cherry-pick <コミットID>

すると、さっきmasterブランチで行った編集ファイルは任意のブランチへ移動する。

masterブランチの変更点を消す

さっきのコマンドをしてもmasterブランチの変更内容は残っているので、消します。

$ git reset --hard <コミットID>
1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?