今日から始めるgit & github入門
TRANSCRIPT
![Page 1: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/1.jpg)
今日から始めるGit & GitHub 入門Write by 森理 麟
![Page 2: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/2.jpg)
2
Myself
森理 麟 (@moririring)職業:ゲームプログラマHP : moririringのHPMicrosoft MVP for Visual C#(2013.01 –)
![Page 3: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/3.jpg)
3
MyCommunity
VSハッカソン倶楽部 + Visual Studio勉強会C++テンプレート完全ガイド読書会UnityクリエイターズIT英語勉強会ぼちぼちぼっち開発
![Page 4: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/4.jpg)
4
はじめに
Windows の人は Git をダウンロードしておいてください。Mac はデフォで入っています。http://git-scm.com/
![Page 5: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/5.jpg)
5
質問
![Page 6: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/6.jpg)
6
GitHub
GitHub のアカウントを持っていない人ー?
![Page 7: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/7.jpg)
7
Git
Git を使ったことがない人ー?
![Page 8: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/8.jpg)
8
DVCS
分散バージョン管理システムを聞いたことない人ー?
![Page 9: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/9.jpg)
9
CVCS
Subversion も知らない人ー?へ?居るの?
![Page 10: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/10.jpg)
10
1. CVCS( 集中型バージョン管理システム )
![Page 11: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/11.jpg)
11
集中型の図
引用 : ガチで 5 分で分かる分散型バージョン管理システム Git (http://image.itmedia.co.jp/ait/articles/1307/05/5min_git1.jpg)
![Page 12: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/12.jpg)
12
バージョン管理のメリット
バージョン毎のバックアップ差分での効率的な転送好きなバージョンの復元複数人での共同開発同じファイルを編集しても別箇所なら自動で対応 ( マージ )
![Page 13: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/13.jpg)
13
せめてちゃんとした日付をつけよう Yo
バージョン管理をすれば少なくともこれは止められる
引用 :Git を使ったバージョン管理 (http://www.backlog.jp/git-guide/img/post/intro/capture_intro1_1_1.png)
![Page 14: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/14.jpg)
14
僕が感じるバージョン管理のメリット1
ソースに余計なコメントを残さなくなった!
![Page 15: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/15.jpg)
15
僕が感じるバージョン管理のメリット2
更新前に差分を確認するようになり、少しでも差分を少なくするようになった!
![Page 16: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/16.jpg)
16
集中型のデメリット
皆で同じ情報を共有する仕組みは自分の都合だけでアップできない
![Page 17: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/17.jpg)
17
集中型のデメリット
わかりやすい例はエラーを上げれば皆がエラー
![Page 18: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/18.jpg)
18
集中型のデメリット
リリースが近くなるとさらに慎重になり、 Excel でコミット管理というホラーもある
![Page 19: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/19.jpg)
19
集中型でやらないこと
集中型ではバージョンを戻すというのはあまりやらないかも
![Page 20: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/20.jpg)
20
集中型でやらないこと
集中型ではブランチは単なるバックアップで、進めてもマージはあまりしないかも
![Page 21: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/21.jpg)
21
2.DVCS( 分散バージョン管理システム )
![Page 22: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/22.jpg)
22
引用 : ガチで 5 分で分かる分散型バージョン管理システム Git (http://image.itmedia.co.jp/ait/articles/1307/05/5min_git1.jpg)
![Page 23: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/23.jpg)
23
分散型のメリット
取得など集中型より速いサーバーがなくても使えるリポジトリを幾らでも持てるブランチ、マージが楽↑ 集中型と分散型は同じ名前でも意味や概念が違うことがあるので注意!
![Page 24: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/24.jpg)
24
引用 :Git-Subversion 比較 (http://www.backlog.jp/git-guide/reference/git-svn.html)
![Page 25: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/25.jpg)
25
分散型のメリット詳細
ローカルリポジトリなので自分の好きな時にコミットできる。エラーでもコミット可能。
![Page 26: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/26.jpg)
26
分散型のメリット詳細
リポジトリ自体をコピーできるので、場所を切り替えたり、複数上げたり、色々カスタマイズできる。安全性も高い。
![Page 27: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/27.jpg)
27
僕の感じた分散型のメリット
Subversion と比べて、 logコマンドが圧倒的に速い。
![Page 28: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/28.jpg)
28
僕の考える分散型の使い方
分散型の理想的な使い方は細かくコミットを繰り返す事かなと思う。あんまできてない。
![Page 29: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/29.jpg)
29
分散型のデメリット?
「コミット→プッシュの 2 アクションが煩雑」とか「リビジョンが連続していないので扱いづらい」とか。↑ つまるところ集中型と分散型との違いを覚えていない。覚えるコストは集中型よりは高い
![Page 30: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/30.jpg)
30
3.GitHub
![Page 31: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/31.jpg)
31
分散型クライアント
分散型のクライアントソフトはいくつかあります
![Page 32: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/32.jpg)
32
GitHub
正直分散型なら大差はないと思います。が、 GitHub が使えるという点で Git が一番かなと
![Page 33: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/33.jpg)
33
GitHub のメリット
只ネットさえ繋がればいつでもどこからでも落とせるリポジトリ以外の機能も豊富デファクトスタンダードとしての安定感
![Page 35: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/35.jpg)
35
最初から Free にチェックが付いているのでそのまま次へ
![Page 36: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/36.jpg)
36
こんな画面になれば OK
![Page 37: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/37.jpg)
37
早速リポジトリを作りましょう
![Page 38: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/38.jpg)
38
A Start
こんな感じで。リポジトリ名はお好きに!
![Page 39: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/39.jpg)
39
.gitignore
.gitignore ファイルに情報を書けばいらないファイルを無視してくれます。僕はこれを自動的に作ってくれるのが好きで GitHub から作る場合が多いです。
![Page 40: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/40.jpg)
40
その他チケットを切ったりWiki を書けたり、ダウンロードしてもらう exe も配布可能
![Page 41: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/41.jpg)
41
Travis CI, Jenkins, Coveralls,Code Climate など連携出来るサービスも多数
![Page 42: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/42.jpg)
42
ぷるり
Pull Request を使えば、自分が気に入ったオープンソースで気づいたバグの修正を送るなんてことも出来ます。
![Page 43: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/43.jpg)
43
複数人開発
ハッカソンではCollaborators にメンバーを追加してしまうのが手っ取り早い
![Page 44: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/44.jpg)
44
gist
ハッカソンで共有が上手くいかない場合 Gist だけ使うもアリ
![Page 45: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/45.jpg)
45
4.Git
![Page 46: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/46.jpg)
46
僕が Git を始めた理由
僕が Git を使おうと思ったきっかけは Jenkins製作者の川口さんの一言SVN は 20世紀のバージョン管理、 Git は 21世紀のバージョン管理。これを聞いたら使うしかないじゃないですか!
![Page 48: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/48.jpg)
48
初期設定
git config --global user.name ”moriri ring”git config --global user.email “[email protected]”
![Page 49: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/49.jpg)
49
git initgit status -> ファイル追加(a.txt)git statusgit add a.txtgit statusgit commit –m “test comment”git log
![Page 50: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/50.jpg)
50
git init 「リポジトリを作成」コマンドを実行すると .gitファイルが作られる
![Page 51: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/51.jpg)
51
git status 「変更が加えられたファイルを表示する」--short と打つとシンプルで見やすい
![Page 52: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/52.jpg)
52
git add < ファイル名 1> <ファイル名 2> … 「ステージにファイルを追加する」ワイルドカードも使える
![Page 53: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/53.jpg)
53
引用 :Software Configuration Management (http://www.markus-gattol.name/ws/scm.html)
![Page 54: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/54.jpg)
54
git commit –m ”< コミットメッセージ >” 「ステージをコミットする」-m 以下がないとテキストエディタが起動してコメントを記入。
![Page 55: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/55.jpg)
55
git log 「コミットログを閲覧する」--graph でグラフ表示--oneline で一行表示
![Page 56: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/56.jpg)
56
git remote add origin https://github.com/...git push –u origin master->Username, Password!git pull origin master
![Page 57: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/57.jpg)
57
git remote add <name> <url> 「リモートリポジトリを追加」この作業は必須ではないがやると楽。要は短い別名を付ける。origin はデフォルト名
![Page 58: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/58.jpg)
58
git push < リポジトリ > <ブランチ名 > 「リモートリポジトリにローカルリポジトリの内容を送信する」この時 ID と Password が必要
![Page 59: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/59.jpg)
59
git pull < リポジトリ > < ブランチ名 > 「リモートリポジトリの変更点をローカルリポジトリにマージする」
![Page 60: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/60.jpg)
60
a.txt 編集git diffb.txt 追加git add b.txtgit diff --stagedgit reset b.txtgit checkout a.txt
![Page 61: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/61.jpg)
61
git diff 「変更されたファイルの差分を表示」引数なしはワークツリーとステージ。 --staged は次の commit で反映される変更を表示 。 HEAD だと直前の commit による変更を表示。status より詳細。
![Page 62: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/62.jpg)
62
git reset 「ステージに登録したファイルを取り消す」ワークツリーの変更は残る
![Page 63: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/63.jpg)
63
git checkout -- <file>「ワークツリーの変更を元に戻す」
![Page 64: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/64.jpg)
64
git branch clean_upgit checkout clean_upgit rm “*.txt”git commit –m “remove all”git checkout mastergit merge clean_upgit branch –d clean_upgit push
![Page 65: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/65.jpg)
65
git branch <branchname> 「ブランチを作成」
![Page 66: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/66.jpg)
66
git checkout <branch>「ブランチを切り替え」
![Page 67: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/67.jpg)
67
git rm <file> 「ファイルを削除」
![Page 68: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/68.jpg)
68
git merge<branch> 「ブランチをマージ」
![Page 69: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/69.jpg)
69
続きが気になる方は tryGit をみてくださいー。クリアするとバッチがもらえます!
![Page 70: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/70.jpg)
70
コマンド
tryGit で出てきたコマンドは一通り覚えましょう。その方が Git の理解が深まると思います。
![Page 71: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/71.jpg)
71
その後は GUI を使ったら良いと思います。コマンドにアイコンがあるのは分かりやすいし、クリックは楽です。
![Page 72: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/72.jpg)
72
GitGUIクライアント
SourceTreeGithub for Win,MacVisual Studio!!!!!!!!
![Page 73: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/73.jpg)
73
最後に git 、分散型のポイントはブランチにあると思います。
![Page 74: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/74.jpg)
74
まとめ
Git も GitHub も単なる知識です。知っていると知っていないでは大きな差が出ます。出来る人と出来ない人の差は 10倍と言われる IT ですが、出来る人は道具の使い方が上手いです。10倍差はかなりの部分知識が大きいと思っています。
![Page 75: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/75.jpg)
75
参考 URL
ガチで5分で分かる分散型バージョン管理システムGit
サルでもわかるGit入門 〜バージョン管理を使いこなそう – Backlog
もっと早く知りたかった! Gitが鬼のようにわかるスライド厳選7選
Gitを使いこなすための20のコマンドPro Git 日本語版電子書籍公開サイト transitive.info tryGitGitHub FlowGitHub実践入門( 書籍 )
![Page 76: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/76.jpg)
76
おわりに
発表するとめちゃめちゃ勉強になります。皆さんもぜひ次はしゃべってください!
![Page 77: 今日から始めるGit & GitHub入門](https://reader033.vdocuments.pub/reader033/viewer/2022051516/55d57e51bb61ebf8738b468d/html5/thumbnails/77.jpg)
77
ご清聴ありがとうございました