Help us understand the problem. What is going on with this article?

【Github】ブランチ切り忘れて作業してしまった時の対処法

More than 1 year has passed since last update.

Github使って初めて開発練習!

完了したブランチ(create-database)をマージしないまま、
そのブランチ上で次の実装(indexビューの作成)を行ってしまった。。
かつ、コミット→pushまでしてしまい愕然。。

そこで!
きちんとした手順、ブランチになるよう修正した方法のMEMO:ok_hand:

pushしてしまったコミットを取り消す

STEP 1

create-databaseブランチ上で出してしまった、関係ないビュー作成のコミットを削除

git reset --soft HEAD^

ターミナルでこのコマンドを打つことで、直前のコミットを打ち消すことができる!
--softとすることで変更した内容自体は取り消さず残したままになる。
--hardにすると変更した内容も取り消すことになり、編集した内容が飛ぶことに・・:warning:

✔︎ git logでコミットの履歴を確認して、不要なコミットの分上記コマンドを繰り返す。
chat-space%20%E2%80%94%20-bash%20%E2%80%94%20204%C3%9762

STEP 2

LGTMが出た段階まで戻せたのでcreate-databaseブランチをmergeする。

STEP 3

新しいブランチを作成し、コミットの変更を引き継ぐ

今のままだとcreate-databaseブランチ上に未コミットの変更が乗っかってる状態。
そこで、まず新しくcreate-index-viewブランチを作成してPR!

こっちのブランチに変更を移すにはどうしたらいい?って時はこのコマンド。
git stash

これで、未コミットの変更履歴を一時退避BOXみたいなものに
一旦退避させることができる。
*スタッシュ機能と呼ぶ

✔︎ git stashコマンドはデフォルトではgit管理しているファイルのみが退避されるので、新規で作成したコミット前のファイルがある場合はstashの対象になりません。
新規作成したファイルもstashに含めたい場合は
git stash -uとしましょう

そしたら、移動先のcreate-index-viewブランチに切り替えて・・・
git stash apply(stashに残る)
git stash pop (applyした後stashから削除する)

これで、一時BOXに移しておいた未コミットの変更履歴が
現在選択されているcreate-index-viewブランチに追加されたよ!:clap:


参考

Qiita
http://vatscy.github.io/blog/2014/03/30/git-branch-stash/
https://reasonable-code.com/git-push-cancel/

emincoring
音楽放送営業→EC向けインテリア商品企画→ エンジニアへ転向目指して勉強中🙃 QiitaでSTUDY MEMO
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした