それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

gitで作業中の内容をブランチ(リモート)として扱う。

作業内容をぱぱっとブランチにまとめる。

最初から目的別のブランチ切って作業できるほど人は賢くない。

アレコレ触ってるうちに、ライブラリに欠陥を見つけたり、作業目的とは違うファイルもついでに編集したりとか。 そういう、細々としたコミットをコミットに積み重ねるのも面倒くさい。

たとえば、コミット内容をカテゴリ別にステージングするときに 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で仕事の続きができますね!