過ぎたるは及ばざるが如し

浅く広くゆるい感じのアウトプット的なメモです

git add -p 使ってますか?

皆さん、git である一部分だけコミットしたいとかありませんか?
私は時々あります。
commit するの忘れてて、別の機能に取り掛かった時になど。
そんなときはgit add -p 使いましょう。

で、頻度が低いせいか毎回 git add のなんだっけ? とか
git add -p のなんだっけ?と苦労してます。

それも google 先生で git add -p で検索しても
一発でヒットしないからです。

なのでオレオレメモとして残そうと思います。

まずはおさらいとして git add とは?

git add <file名>

git add をすることによって選択されたファイルが
stage済またはコミット対象ファイルとなります。

さて、git add -p とは?

git add -p <file名>

上記のコマンドを実行するとgitが更新した内容について
任意のブロックに分割して、その任意のブロック毎に対して
どうするのかを以下の選択肢から選択することができます。
選択肢から選んでEnterを押下します。

Stage this hunk [y,n,q,a,d,/,e,?]?

y なら任意のブロックをgit addをする (stage済)
n なら任意のブロックをスキップする
などです。

表示されてない選択肢も含めて選択可能な操作一覧は以下です。
(? を選択すると以下の操作一覧が表示されます。)
y - stage this hunk
n - do not stage this hunk
q - quit; do not stage this hunk or any of the remaining ones
a - stage this hunk and all later hunks in the file
d - do not stage this hunk or any of the later hunks in the file
g - select a hunk to go to
/ - search for a hunk matching the given regex
j - leave this hunk undecided, see next undecided hunk
J - leave this hunk undecided, see next hunk
k - leave this hunk undecided, see previous undecided hunk
K - leave this hunk undecided, see previous hunk
s - split the current hunk into smaller hunks
e - manually edit the current hunk
? - print help

英語が得意な皆さんならもうなんとなくわかったんじゃないでしょうか。

自分用のメモとして残そうとしたのは s , e の使い方です。

s なら任意のブロックを更に細かいブロックに分割する
e は自分でgit add の対象となるブロックを指定する
そのため、s にて上手く分割されない時にe を使います。

e について例を使って説明します。
例えば以下のようファイルがあるとします。

状態としては空のHokurikuCommunityGroups.txtを
git addしてある状態です。
その後に以下のコミュニティを追記しました。

<HokurikuCommunityGroups.txt>
ふくもく会
Hokuriku.NET
JAWS-UG金沢
kanazawa.rb
toyama.rb
WDF(Web Directors Forum)

まずはふくもく会だけコミットした場合

git add -p HokurikuCommunityGroups.txt
diff --git a/HokurikuCommunityGroups.txt b/HokurikuCommunityGroups.txt
index e69de29..f385ec8 100644
--- a/HokurikuCommunityGroups.txt
+++ b/HokurikuCommunityGroups.txt
@@ -0,0 +1,6 @@
+ふくもく会
+Hokuriku.NET
+JAWS-UG金沢
+kanazawa.rb
+toyama.rb
+WDF(Web Directors Forum)
Stage this hunk [y,n,q,a,d,/,e,?]? e

e を入力後Enterを押下すると、vim/vi が開かれます。

+ふくもく会
+Hokuriku.NET
+JAWS-UG金沢
+kanazawa.rb
+toyama.rb
+WDF(Web Directors Forum)

上記のような表示がされますので以下のように
ふくもく会以外を削除します。
(表示の関係上、ヘッダー、フッダーは削除してます)

+ふくもく会

で :wq で保存します。

確認として再度 git add -p を実行します。

git add -p HokurikuCommunityGroups.txt
diff --git a/HokurikuCommunityGroups.txt b/HokurikuCommunityGroups.txt
index a785f45..f385ec8 100644
--- a/HokurikuCommunityGroups.txt
+++ b/HokurikuCommunityGroups.txt
@@ -1 +1,6 @@
ふくもく会
+Hokuriku.NET
+JAWS-UG金沢
+kanazawa.rb
+toyama.rb
+WDF(Web Directors Forum)
Stage this hunk [y,n,q,a,d,/,e,?]?

ふくもく会だけが git add されていることが確認できます。

git status にて更新した内容が全てgit addされてないことが
確認できます。

git status
On branch master Initial commit
Changes to be committed:
(use "git rm --cached ..." to unstage)
new file: HokurikuCommunityGroups.txt
Changes not staged for commit:
(use "git add ..." to update what will be committed)
(use "git checkout -- ..." to discard changes in working directory)
modified: HokurikuCommunityGroups.txt

後はcommitするだけです。
(表示の関係上、空白行は削除しました。)

git add -p を使うことによって一部分のみをコミット対象とすることができます。

所感

これで google 先生で git add -p を検索したら一発でヒットしてくれると
私の作業効率が今よりもちょっと上がるんだけどな〜。

9月の目標

まだ暑いのにもう9月です!!
いかがお過ごしですか??
私はほげーと過ごしています。

さて、9月の目標ですが
・ 簿記3級の勉強する

簿記3級の勉強する

前々からたびたび出てくる目標だったんですが、そろそろ
先輩の無言の圧力が・・・・・怖いっす。

今回はこの1本に絞って集中しようと思います。
少しずつ結果として点数は上がっていっているのですが
後1歩足りない結果です。

9/12(月)から勉強します。

今日からしろよってツッコミはあると思うのですが、
9/11(日)はFP3級の試験が・・・・・・・・・・。

8月の振り返り

8月の振り返りです。
ごめんよ、完全に忘れていたわけですよ。
9/5にハッと思い出しました。

まずは8月の目標は
・ LTスライド作る
・ FP3級の勉強する
・ 目指せ副収入1000円

LTスライド作る

8月のkanazawa.rbはLT大会だったので
LT作成しました。

作成したスライドは以下です。
https://speakerdeck.com/cottondesu/kan-wei-idefirebasehong-tutajian-tayo

今まではSlideShareを使っていたのですが
ちゃんとアップロード出来なくて、挫折したので
今回はSpeakerDeckにアップしました。

何が原因でSlideShareにアップロード出来ないのか
わからない。分かる人いましたら教えてほしいです。

結果として達成です。

FP3級の勉強する

予想以上に進捗が悪くて、文字列って覚えられない。

モチベーションも低く、さらっと本を読んで
全く覚えられない感じです。

自己判断で未達成とする。

目指せ副収入1000円

一回も取引してないです。

この目標は取引した場合のみ結果を
記載していこうと思います。

所感

トータル的にはあまり良くない傾向ですね。
気持ちを入れ替えれねば・・・・・・・。

kanazawa.rb meetup #48

08/20 kanazawa.rb meetup #48
http://kanazawarb.github.com/meetup/48/

「〜 祝4周年 LT大会 〜」

参加したのでアウトプットしてみる!!

今回の司会進行は @kiyohara さんです。
今回一番喜んだことは初参加の方が1人いたことです。

LT大会

参加者全員によるLT大会です。
参加者12名いたのに誰1人ネタが被らないという奇跡!!
いい感じに化学反応しているから4年間続いたんだと思います。

さて、私が話した内容は以下です。

speakerdeck.com

後は、参加者データから見えたKPTも話しました。

speakerdeck.com

私の中で今回のLT大会のMVP「トーマスになりたい」でした。
全てをかっさらっていくのはずるいと思う。

懇親会

懇親会は火鍋と点心食べ、飲み放題でした。
いやー美味しかったし、LT大会でもっとも衝撃を受けた内容に
ついて深掘りしたり、楽しかったです。
懇親会までを含めて、改めて kzrb だと思いました。

身近なイベント

08/26 JAWS-UG金沢 第13回 勉強会 〜 AWS Cloud Roadshow Special! t.co

08/27 オープンソースアンカンファレンス 2016 金沢

connpass.com

「kanazawa.rb meetup #48」をトゥギャりました。
http://togetter.com/li/1001206

togetter.com

「kanazawa.rb meetup #48」の写真公開

30d.jp

※30days 様のご厚意により pro アカウントを優待いただいております。

8月の目標

もう8月ですよ!!
月日が経つのが早いですね。
あっ、目標どうしましょう。

さて、8月の目標ですが
・ LTスライド作る
・ FP3級の勉強する
・ 目指せ副収入1000円

LTスライド作る

今月のkanazawa.rbのLT用の資料を作るよ。
まぁ〜、なんのネタも決まってないから焦って
いるんですけどね。
はぁ〜、こういう時に真の実力を求められている
気がします。
スライド・・う〜ん、じゃあのネタでスライド作ろうっと
サクッと出来るそんなおじさんになりたいです。

FP3級の勉強する

なんかね〜、簿記3級の場合仕分けをするから
まだ勉強の進捗が自分にとってもわかるのですが、
FP3級は計算する部分もあるのですが・・・・・
文字列を覚えることが多くて・・・進捗が進まない。

とりあえず、頑張って勉強します。

目指せ副収入1000円

この目標はチャンスがあれば挑戦して利益を出したいと
いうものなので、まぁ〜期待しないでください。

7月の振り返り

8月・・・夏ですね。
皆さんいかがお過ごしですか?
毎日毎日暑くて過ごしづらいです。

まずは振替の前に7月の目標のおさらいです。

WEB+DB PRESS Vol92をやる
・ Qiitaに1件投稿する
・ 目指せ副収入1000円

ここからが振り返りです。

WEB+DB PRESS Vol92をやる

えーと、出来てないです。
あっ、はい。ダメ人間なのです。

何をどう間違えたか、WEB+DB PRESS Vol93
をやりました。
興味あることの方が優先度が高いみたいです。

Qiitaに1件投稿する

ちゃんとQittaに投稿しました。

[CircleCIでshUnit2のテストを実施する]
http://qiita.com/cotton_desu/items/2ace04d3a9ca5e4a5971

Qittaに前回投稿した内容の続きのような内容です。

目指せ副収入1000円

何にもしてないので0円です。
こちらに関してはチャンスがあればなので
のんびりやっていこうと思います。

おまけ

自分の意志とは別にFP3級の勉強を始めたのですが、・・・・・
文字列覚えるのが辛い。微塵も手応えを感じることが出来なくて
めっちゃ焦ってます。
なんか簡単に記憶に定着する方法ないですかね〜。

kanazawa.rb meetup #47

07/16 kanazawa.rb meetup #47
http://kanazawarb.github.com/meetup/47/

意識高いもくもく会

参加したのでアウトプットしてみる!!

今回のMCはふんわりゆっくりを目指している
私こと @cotton_desu です。
今回一番喜んだことは学生さんが1人参加されたことです。

意識高いもくもく会

私は以下のDemoの模倣をしてました。
https://hectorperezarenas.com/2015/12/26/rails-5-tutorial-how-to-create-a-chat-with-action-cable/

Rails5の新機能である Action Cable のDemoです。
具体的にはリアルタイムな双方向通信を可能にするWebSocketの機能です。

私の進捗としては・・・・失敗しました。
事前に入れておいたテストデータは画面表示されたが、
入力した文字がDBに格納されなくて、画面表示されません。
たぶん、何かしら直し忘れてがあるのかなーと思っています。

今回、私はLTしていませんが、
@Yukimitsu_Izawa さんのTWE-Liteを使ったホームセキュリティのLT、
@wtnabe さんのGrapeとSwaggerのLTがありました。

あーありがち - GrapeとSwaggerだけでAPIを記述していく準備
http://aligach.net/diary/20160703.html

懇親会

今回は初めてかも知れない。海鮮でした。
いやー、ウマウマでした。ただ、若者には足りない量
だったのが残念です。
一次会では何を話したっけ?・・・えーと、私はきっと
水ましまししか話してない気がするw
二次会でピザとかピザとか塩辛とか・・・各自
好きなモノを食べました。
おじさん達が学生や若者にためになる話、現実的な話を
していました。懇親会からが本番のkzrbです。

身近なイベント

07/30 ふくもく会その18 〜LT会! サンシャイン!!〜
https://fukumoku.doorkeeper.jp/events/46060
08/03 Toyama.rb #09 もくもく会 (富山会場)
https://toyamarb.doorkeeper.jp/events/49367
08/05 CPI Fan☆トークナイト!
http://wdf.jp/news/news2015/cpi-fan-talknight-ishikawa.html
08/20 kanazawa.rb meetup48 〜 祝4周年 LT大会 〜
http://kzrb.org/meetup/48/
08/27 オープンソースアンカンファレンス 2016 金沢
http://connpass.com/event/30813/

「kanazawa.rb meetup #47」をトゥギャりました。
http://togetter.com/li/1001206
「kanazawa.rb meetup #47」の写真公開
http://30d.jp/kzrb/37
まだ未公開ですが、数日後には公開される予定です。
※30days 様のご厚意により pro アカウントを優待いただいております。