作業内容をぱぱっとブランチにまとめる。
最初から目的別のブランチ切って作業できるほど人は賢くない。
アレコレ触ってるうちに、ライブラリに欠陥を見つけたり、作業目的とは違うファイルもついでに編集したりとか。 そういう、細々としたコミットをコミットに積み重ねるのも面倒くさい。
たとえば、コミット内容をカテゴリ別にステージングするときに git add -p
を叩いてファイルを見ながら目的部分だけ拾って comitt / push って意外と効率が悪い。
stash してあとで考えようとしてもstash から戻すときにマージ考えるのも面倒だし。
その状態でいったん保存したい。
ステージングされてないコミットがまだまだあるんだけど、その状態でいったん保存したい。
帰宅時間が来たぞ帰ろう。とりあえず作業内容をブランチにしてみることにした。
あるブランチで作業をしていて、会議時間前になったし、そろそろ一段落させるか。帰宅時間が近づいたけど今日の進捗なしはこまるな−ってときに。
ファイルが更新状態になってる。
takuya@sample$ echo '<?php phpinfo();?>' > info.php takuya@sample$ git status On branch master Your branch is ahead of 'origin/master' by 1 commit. Changes not staged for commit: modified: info.php
ブランチを作る
takuya@sample$ git checkout -b working M info.php Switched to a new branch 'working'
ブランチをコミットしてリモートpush する
ブランチをコミットする。
takuya@sample$ git commit -m 'さぎょうちゅうー' info.php [working daa290b] さぎょうちゅうー 1 file changed, 1 insertion(+)
ブランチをまるっとプッシュする
takuya@sample$ git push origin working Counting objects: 6, done. Delta compression using up to 4 threads. Compressing objects: 100% (4/4), done. Writing objects: 100% (6/6), 533 bytes | 533.00 KiB/s, done. Total 6 (delta 2), reused 0 (delta 0) To example:takuya/sample.git * [new branch] working -> working
状態を確認する。
takuya@sample$ git branch -a master * working remotes/origin/HEAD -> origin/master remotes/origin/master remotes/origin/working
作業中の状態を保存できた
これであとはまた別のことを始めたら良いわけですね。ブランチに進捗あります。
定時に上がって、家のPCで仕事の続きができますね!