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

git checkout できないとき、私はこうしてます。(※知ってる方法は2つ)

More than 1 year has passed since last update.

git checkout master

masterに限らない話ですが、
ブランチを切り替える時に下記エラーが出て切り替えられないことがあります。

error: Your local changes to the following files would be overwritten by checkout:
    abc.txt
    hogehoge.ctp
Please, commit your changes or stash them before you can switch branches.
error: The following untracked working tree files would be overwritten by checkout:
    abc.txt
Please move or remove them before you can switch branches.
Aborting

そんな時はこうしています

変更履歴を スタック する

git stash save 'なんのスタックか自分がわかるメモ'

  • 変更履歴を戻すには(元のブランチに戻した時など)
    git stash pop
    ※複数回スタック(git stash)していた時は :arrow_lower_left:
    git stash list (スタックを確認)
    git stash pop [↑で確認したハッシュ値]


とりあえずコミットしておく(オススメ)

上記git stashだと思わぬハプニングでスタックが消えてしまったら
変更履歴は消えちゃいます。 (普通は無いですが...)
なのでとりあえずコミットしておきましょう。
git add -A
git commit -m '[コミットメッセージ]とりあえずのコミット!'

※プッシュしてしまわないように気をつけてください!

  • 変更履歴を戻すには(元のブランチに戻した時など)
    コミットしたブランチに戻ってから
    git reset --soft HEAD^
    git reset


今回2つの方法を紹介しました。
ですが、ちゃんとコマンドを理解して使わないと
せっかくの編集が消えちゃう可能性がありますので気をつけてください。

(追記)

2つ目の方法の続き。少し応用かもしれません。
違うブランチに変更内容を反映させたいときは、
一時的に作ったコミットを反映させたブランチにもってきてから
reset --softすればできます。

git checkout [反映させたいブランチ]
git cherry-pick [一時的に作ったコミットのハッシュ値]
git reset --soft
git reset



:smiley: 過去に書いた Git関連の記事 :arrow_double_down:

Qiita-何も知らない人がGitとGitHubを独学で知る
Qiita-プルリクエストで表示される差分の仕組みを GitHub に問い合わせたときの話
Qiita-ブランチ間の差分をコミット単位で知る・見る
Qiita-git 差分を見る

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
ユーザーは見つかりませんでした