今日から始めるGit & GitHub入門

2,150 views

Published on

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,150
On SlideShare
0
From Embeds
0
Number of Embeds
432
Actions
Shares
0
Downloads
11
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

今日から始めるGit & GitHub入門

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

×