skillup

技術ブログ

Git

git stash ~一時的な内容の保存~

投稿日:

gitでコミットせずに、作業を保存したいときがあるとおもいます。

例えばあるブランチで作業していて、実は今の作業内容が別のブランチでの反映が必要になったときなどです。

gitはブランチの切り替え(git checkout)を使うと、コミットしていない保存内容は全て消えてしまいます。

そのため、コミットしなければある作業内容を移行することはできません。

そんなときに一時的に作業を保存することができればとても便利ですね。

そんな時に使えるのがgit stashです。

作業の保存

保存方法はとても簡単で現状のブランチで作業中にgit stashと打ちます。(この時点で保存され、下記のようなメッセージが出力されます。)

Saved working directory and index state WIP on ブランチ名: リビジョン コメント
HEAD is now at リビジョン番号 コメント

内容の確認

git stash listで保存データの日にちなどを見ることができます。

git show -pで具体的なソースの内容を見ることができます。

stashの内容を現ブランチに吐き出す

この後、ブランチを切り替えましょう。

git stash popで保存されていた内容が現ブランチに吐き出されます。一時領域に保存されていたstashは消滅します。(git stash applyでもいけます。その場合はstashの内容が一時領域から消滅しないようです。)

 

-Git
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

追跡ブランチからローカルブランチを作る方法~ (svn→gitの移行など)

SVNで運用されていたプロジェクトをgitに移行する機会があったのでその時のメモなどを。 思ってたよりは楽だったかな・・・ Contents1 準備2 実際の移行(git svn clone)3 gi …

no image

gitのfetch/merge/rebaseについて その2

以前、gitのfetch/mergeについての記事を書きましたが、理論的なことは書いてあっても実際に処理の流れをかいていなかったので、今回はそのことについてメモリます。 Contents1 競合が起き …

no image

git別リポジトリからの差分取りこみ、リモートの別ブランチ反映、強引なstash

gitについて最近覚えたことなど Contents1 別リポジトリからの差分取り込み2 別ブランチからファイルのみ取り込み3 追跡ブランチをローカルに取り込みたいとき4 強引なgit stash 別リ …

no image

Git→Jenkinsの連携

気がついたら投稿数が50超えてましたね。 ガチンコ塾とあわせて更新してますが、2ヶ月ちょいなので結構いいペースで更新しているかと思います。 大切なのはこれを継続できるかですね。ただ、ガチンコ塾に比べる …

no image

gitのfetch/merge/rebaseについて

git使って結構立ってるんですがいまだに仕組みがややこしく結構難しいなあと感じています。 基本的な使い方は以前紹介した「gitの紹介と基本的な使用法について」でいいと思います。 開発をやっていますと一 …