わかばちゃんと学ぶGit使い方入門 SECTION 01 〜 SECTION 20
2017年ゴールデンウィークの課題図書
- Git習得には一度挫折。
- せっかく9連休をとることが出来たので、一念発起して選んだのがこの本。
なぜ「わかばちゃんと学ぶGit使い方入門」を選んだのか?
- 結城先生の記事
- YAPCでGitを実装しよう、というトークをしてたDQNEOさん監修
- でも、マンガだと情報の密度というか濃度が・・・
- 覚えられれば何でも良い
- 覚えてから言え
- Kindle版で購入
- 12.9インチiPadであれば読むのに不便はない
- が、所々画像内の文字が潰れてる?
CHAPTER 1
SECTION 01
- だいたい把握
SECTION 02
- SourceTree 入れたことがある
- しかし、自己流でやってみて、よく分からんってことでアンインストールした覚えがある
CHAPTER 2
SECTION 03
- SourceTreeのインストール
- 「お前のOS古すぎて入れられんわ」エラー
- 宗教上の理由で未だ買った時の Mountain Lion
- 初めてかつ唯一の MacOS X で、OSアップデートの経験がなくて怖い
- 宗教上の理由で未だ買った時の Mountain Lion
- まぁ、覚悟はしてた
- 旧バージョンをダウンロード
- Source treeの古いバージョンのダウンロード - Qiita
- 2.0.0 をダウンロード、インストールしてから、アップデート
- ver 2.0.5.8 に
SECTION 04
- リポジトリ・・・プロググラムとかバージョン管理やってないと触れること無い単語だよな
サンプルフォルダを作って、選択して・・・エラー!
git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree init /Users/sironekotoro/Dropbox/git_study/wakaba/sample dyld: lazy symbol binding failed: Symbol not found: strlcpy_chk Referenced from: /Applications/SourceTree.app/Contents/Resources/git_local/bin/git Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: strlcpy_chk Referenced from: /Applications/SourceTree.app/Contents/Resources/git_local/bin/git Expected in: /usr/lib/libSystem.B.dylib
Completed with errors, see aboveふむ、わからん。
- もちろんググる大先生に聞く
- osx - git command-line on Mac OS error “dyld: Symbol not found: ___strlcpy_chk” - Stack Overflow
- Xcode から Command Line Tool をインストールしてみる
- うーん、うーん、と色々やっているうちに、このMacには複数のGitがインストールされていることが判明
- SourceTreeの環境設定 -> Git で確認すると、
- 内蔵Gitのバージョン;2.6.2
- エラー消えない
- システムGitのバージョン:2.0.1
- エラー消えない
- Terminalから git –version で確認:2.5.1
- さらにTerminalから which git で確認すると /usr/local/bin/git
- 内蔵Gitのバージョン;2.6.2
- 3種のGit盛り合わせかよ・・・わけわかんねぇ
- が、とりあえず、SourceTreeの環境設定 -> Git から「システムのGitを使用する」をクリックし、そこで /usr/local/bin/git のGit(2.5.1)を選択
- ok!
閑話休題
- ほんと、個々人の環境なんて千差万別だから、万人が動かせるような環境・導入方法案内なんてなかなか無いよな・・・
- VirtualBoxのvhd配るとか・・・?
Section 05
- エラーは出なくなったが、さすがに 2.0.5.2 と現行バージョンの 2.5 は表示が若干違う。
- が、表示オプションで本に載っているのと同じレイアウトにすることは可能
- しかしまぁ、同じことをするツールなので、なんとか頭で違いを吸収しつつこのまま学ぶ
- すんなり進む
SECTION 06
- リポジトリ内のテキストファイルをチェックアウトして、過去の履歴にさかのぼる
- この辺りは、コマンドラインのgitでやった覚えがある
- チェックアウトしたときに、テキストエディタ内の内容が変わるのが、ちょっと面白かった
- Sublime Text2 を使ってます
SECTION 07
- GitHubのアカウントは作成済
- だが、使ってない・・・
SECTION 08
SECTION 09
- ブランチについて
- ブランチが便利というのは理解できる・・・しかし、それをまとめる時は大変なのではないだろうか?
- ブランチごとにリポジトリの状態を保存している、って理解で良いんだろうか
SECTION 10
- マージ!人生初マージ!
SECTION 11
- 初プッシュ!初リモートリポジトリへのプッシュ!
SECTION 12
- 初プル!
- リモートリポジトリ上の変更をローカルリポジトリに反映するのがプル、ってのはわかった
- となると。よく聞く「プルリクエスト」とは?
- 「みんな反映してねー」とか?違う気がする・・・
- あと、131pの「リモートリポジトリの状態」はどこから見るんだろう?
- GitHubのファイル一覧の少し上にある「** commits」ってところから同じ画面見ることが出来た
SECTION 13
- コンフリクトについて
コンフリクトは、同じ行に、同時に別々の修正が成されたときに発生します。 同じファイルでも、行が違えば、コンフリクトが起きずにそのままマージされるわ
- なるほど、行単位で監視というか比較しているんね
- ここで、update-newsをチェックアウトして、そこにmasterをブランチを統合してしまうというミスをしてしまう(逆のことをやりたかった
SECTION 14
- プルリクエストの疑問に対する回答があった。取り込んでもらう相手の立場に立って、ということなのね。
- 「私の更新を取り込んでくださーい」と。
- プルリクエスト、不自然とは思わなくなってきた・・・(順応性
- この本はなんと、プルリクエストからマージまでを体験できる!らしい!ってことで挑戦
- うちのためしてみた時点でForkは14
- おぉ!先人のコミットが見える!
- しかし、自分のテキストファイルをコミット・プッシュしても、自分のGitHub上に反映していない・・・?
- GitHubのBranchを「master」から「add-myfile」に切り替えたら確認できた
- プッシュがされてないのかなーと、3回くらいプッシュしてた
- 153pの「Compare & pull request」ってボタンが表示されない
- 「compare」 と 「pull request」ってリンクならある
- 「pull request」のリンクをクリックすることで、本と同じような画面が出た。
- 一安心。
SECTION 15
- うちの環境だと、
.gitignore
は本に乗ってる内容で追加されてるなぁ - とおもったら、もともとのリポジトリに入ってた
- なるほど、
.gitignore
に記載してあるファイルはgitの管理外になるけど、.gitignore
ファイル自体はgitで管理されるのね
SECTION 16
- Bitbucket、以前にアカウント登録はしてたけど、email認証せずに放っておいてた
- なんでそんな中途半端なところで・・・
- 2014年の9月のことだったらしい
- ぐうう、なんか画面が違う・・・メニューが左側にある
- 初心者本に限らずだけど、サービス提供側のページレイアウトが変わるのは辛いものがあるが、作者さん達も避けようが無いもんなぁ
- 画面左側メニューの「+」からリポジトリを追加。後は本に乗っているのとだいたい同じ。
SECTION 17
- あんれ?豚玉とかソースの追加ってコミットしてたっけ・・・?
- 例ってことで良いんかな?
- とりあえず、「過去のコミットをチェックアウトしてブランチを分ける」ということは出来た
SECTION 18
- リバート!そういうことだったのか!
過去のコミット自体を削除するわけではなく、あくまでも反対の内容で新規コミットを作ることで、過去の変更を打ち消すというところがポイントです
- 単なる削除、ではないと
- SouceTree、Windows版とMac版でメニューの項目表示が違うの、なんか嫌だねぇ・・・
SECTION 19
- なるほど、リベースは履歴がきれいになって良いなぁ
- でも、慣れないうちはマージを使うってことで、しばらくは使うことなさそう