※2013.07.08 追記あり
ブランチを作成するのを忘れて作業してて、masterを編集してしまった。
途中からブランチを作成して、そこで作業を再開する方法。
現在のワークツリーを一時的に保存する
git stash
stashに保存されている状態のリストを確認
git stash list
stash@{0}: WIP on master: 0f043fe Finish layout and routes
ブランチ(working)を作成する
git branch working
git checkout working
保存した状態(stash@{0})を現在のブランチに適用する
git stash pop
実行後に適用した状態は削除される
削除したくない場合は、
git stash apply
workingブランチを作成出来たので、
今後はこのworkingブランチを使用して作業をする。
--
2013.07.08追記
acple@githubさんから指摘をいただきました。ありがとうございます。
まだコミットしていない場合は、git checkout -b working
(ブランチを切り替える)だけでOKとのことです。
試してみます。
masterブランチのsample.txtを変更する
git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: sample.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
ブランチ作成、切り替え
git checkout -b working
git status
# On branch working
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: sample.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
ちゃんとブランチが変更され、変更したファイルも見えていますね。
これをコミットすれば、workingブランチにコミットされます。
コミットされるまでブランチは分かれないので、変更しているファイルは同じなんですね。
workingブランチを作成後にブランチをmasterに切り替えて、sample.txtを開くと変更されていませんでした。
ブランチについて少し理解が深めることが出来ました。
ありがとうございました。
git stashの使いどころについても今後少し調べてみよう。