ユアマイスター株式会社エンジニアブログ

ユアマイスター株式会社のエンジニアが日々徒然。

git stashを使ってみた!照

こんばんわ!エンジニアの卵:竹本です!
今週もエンジニア初心者の方向けに、初心者の竹本がチーム開発で学んだことなどを書いていきたいと思います!(玄人の方はご容赦ください泣)

GitHubって??

初心者の方々、GitHubってよく耳にしますよね!簡単に言えばコードの変更ごとにネット上にその変更箇所を残しておけるツールです! 開発進めていく中で「さっきまで動いてたのにエラー出た」「戻りたいけど、どこまで戻ればいいのやら」とトホホとなることもしばしば。そんな時には絶対GitHub!僕もユアマイスター株式会社に入ってからちゃんと触るようになりました!
GitHubの使い方については今回は割愛させていただきます。。
下記のQiita先生からやり方は学んでください。

qiita.com

チームで開発して感じたこと

さて本題に入りましょう、僕が開発チームに入ってから感じたことは

「同時に行うタスクが多くてブランチきりかえたい」->「でも差分ファイルはコミットして残して置くほどでもない」

そんな時にgit checkout を行うと、addしろ!ってエラーが吐き出されます。。 ここで使うのが今回のブログのタイトルでもあるgit stashです。

git stashの使い方

git stashは一時的にaddせずに変更をブランチ内に残しておくというコマンドです。
僕は作業中にボスから「こっちの作業を先にやってー」と急に振られた時にこのコマンドをよく使います。
では実際にgit stashの使い方について書いていきます。

modified:   src/Controller/Controller.php
modified:   src/Controller/appController.php

ブランチを切り替えたい時にこのmodifiedになっているファイルがあるとブランチ切り替えができません。
この時に

$git stash

と入力すると一時的にファイル変更がコミットせずにセーブされます。 で、また戻ってきた時に

$ git stash list
 stash@{0}: WIP on sub: a0d2f1b add fourth line
 stash@{1}: WIP on sub: 1a61919 add second line

でstashしてあるファイルを参照し

$ git stash apply stash@{0} (=復元したいファイル名)

戻したいファイルを選択するだけ!

注意点

git stashは一時的にファイルをセーブすると言いましたが、復元させてもキャッシュとして残っています。

$ git stash drop <消したいstash名>

でしっかりファイルを削除するか

$ git stash pop stash@{0}

で復元と削除を同時にやる癖をつけましょう! 以上今週の竹本でした!!