ノンプログラマでも今日から使える「Git」でバージョン管理

30,691 views

Published on

※ 本スライドの内容を解説した、電子書籍を販売中です。
<a>http://p.booklog.jp/book/86773</a>

「Git(ギット)」や「バージョン管理」という言葉は聞いたことはあっても、なんだか難しそうなイメージを持っているかも知れません。

特に、プログラマーやエンジニアのツールであって、デザイナー・マークアップエンジニア・ディレクターの方は「自分には無縁」と思っているのではないでしょうか。

しかし、Gitはプロジェクトに関わるすべての方が使えると、コミュニケーションツールとしての役割も果たし、非常にスムーズにプロジェクトを進行させることができます。

このイベントでは「ノンプログラマの方」を対象に、Gitのよく使う部分だけをピックアップしてわかりやすく紹介、今日から使えるテクニックや便利なポイントを紹介していきます。

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

No Downloads
Views
Total views
30,691
On SlideShare
0
From Embeds
0
Number of Embeds
6,134
Actions
Shares
0
Downloads
161
Comments
0
Likes
157
Embeds 0
No embeds

No notes for slide

ノンプログラマでも今日から使える「Git」でバージョン管理

  1. 1. Git ノンプログラマでも今日から使える「Git」でバージョン管理
  2. 2. 執筆中価格 ¥500
  3. 3. Gitってなに? ノンプログラマでも今日から使える「Git」でバージョン管理 5
  4. 4. Gitとは • バージョン管理システム • 他に「CVS」や「Subversion」など • Gitは「分散型」 6 詳しくは後ほど
  5. 5. プログラマーのもの? ノンプログラマでも今日から使える「Git」でバージョン管理 7
  6. 6. Gitで小説を書く人も 8
  7. 7. チームで使うもの? ノンプログラマでも今日から使える「Git」でバージョン管理 9
  8. 8. ひとりぼっちでも大丈夫 10
  9. 9. 黒い画面を使うの? ノンプログラマでも今日から使える「Git」でバージョン管理 11
  10. 10. ソフトも揃ってます 12
  11. 11. Gitをはじめよう ノンプログラマでも今日から使える「Git」でバージョン管理 13
  12. 12. demo
  13. 13. なにが起こったの?
  14. 14. なにが起こった? • リポジトリーを作る • ステージングする • リポジトリーにコミットする • チェックアウトして元に戻す 16
  15. 15. なにが起こった? • リポジトリーを作る • ステージングする • リポジトリーにコミットする • チェックアウトして元に戻す 17
  16. 16. 全然分からない!
  17. 17. 言葉をおぼえよう ノンプログラマでも今日から使える「Git」でバージョン管理 19
  18. 18. Gitは3階層 20 ここに履歴がたまる 準備場所 作業フォルダー ワークツリー インデックス ローカル リポジトリー
  19. 19. Gitは3階層 21 ワークツリー ステージング コミット ローカル リポジトリー インデックス
  20. 20. Gitは3階層 22 ? ワークツリー ステージング コミット ローカル リポジトリー インデックス
  21. 21. demo
  22. 22. ステージングは「箱詰め」 • リポジトリーは「倉庫」 • 倉庫には「箱」単位で詰め込める • 箱に無造作に詰め込むと、あとが大変 • 目的別に箱を分けましょう 24
  23. 23. 分ける基準は?
  24. 24. 基本は「タスク」単位 • トップページを追加した • 画像を変更した • ナビゲーションにボタンを追加した 26 元に戻すときのことを考える
  25. 25. コミット履歴 27 e1193f8 初期化 ハッシュ(ID)
  26. 26. コミット履歴 28 e1193f8 5a09431 初期化 トップページを追加
  27. 27. コミット履歴 29 e1193f8 5a09431 初期化 トップページを追加 30e367c 画像を変更
  28. 28. コミット履歴 30 e1193f8 5a09431 初期化 トップページを追加 30e367c 画像を変更 420eac9 ボタンを追加 ここでリリース
  29. 29. コミット履歴 31 e1193f8 5a09431 初期化 トップページを追加 30e367c 画像を変更 420eac9 ボタンを追加 v1.0 タグ付け
  30. 30. タグを使う • 特定のコミットにつけられる名前 • それをヒントに、履歴を辿ったり戻したり • 英数字でつける。バージョン番号なども可 32
  31. 31. Dropboxなどとの違い • Dropboxなどのバックアップは
 日付単位・ファイル単位 • Gitは、「区切り」を自由に管理 • タグを使って、さらに整理できる 33 単なるバックアップではなく、「歴史」を作る
  32. 32. ブランチを使おう ノンプログラマでも今日から使える「Git」でバージョン管理 34
  33. 33. ブランチ?(Brunch) 35
  34. 34. Branch = 枝 36
  35. 35. こんな時どうする? 37  4月に一部リニューアルしたいんだよね では、テストサーバーを使って作業しましょう  あ、そういえばリニューアルの前に  表記を変えて欲しいところがあった え、もうリニューアル作業はじめちゃいましたよ  テストサーバーで見せてねー
  36. 36. 「ブランチ」で解決!
  37. 37. demo
  38. 38. ブランチを使えば解決! • 普段使うのは「マスターブランチ」 • そこから、必要に応じて「ブランチ」
 に分けていくことができる • ブランチを取り込んだり、合流したりも 40
  39. 39. いつ、ブランチを作るの?
  40. 40. こんな時は Let’s ブランチ • リリースまでに時間がかかりそうな作業 • 実験的な作業(あとでなかったことにしたい) • 全体に大きな影響を与えそうな作業 42 常にブランチを切る人も
  41. 41. 増えたブランチはどうなるの?
  42. 42. demo
  43. 43. mergeとrebaseはどう違うの?
  44. 44. merge 46 合流。でも過去はそのまま
  45. 45. rebase 47 合体。ブランチははなかったことに
  46. 46. cherry-pick(いいとこ取り) 48 他のブランチから変更をもらう
  47. 47. 使い分け • rebaseは、ちょっとした変更の時 • mergeは履歴として残しておきたい
 大きな変更 • ブランチ同士の変更のやりとりは
 cherry-pickで 49
  48. 48. git-flow 50 http://danielkummer.github.io/git-flow-cheatsheet/index.ja_JP.html
  49. 49. git-flow • Gitを使ったソフトウェア開発モデル • 専用ツール(コマンドライン)もある • SourceTreeでも一部サポート • ブランチ名などの参考に 51
  50. 50. チームで使おう ノンプログラマでも今日から使える「Git」でバージョン管理 52
  51. 51. Gitは実は4階層 53 ワークツリー インデックス ローカル リポジトリー
  52. 52. Gitは実は4階層 54 ワークツリー インデックス ローカル リポジトリー リモート リポジトリー プッシュ プル
  53. 53. Gitは実は4階層 55 ワークツリー インデックス ローカル リポジトリー リモート リポジトリー ワークツリー インデックス ローカル リポジトリー クローン
  54. 54. どこにあるの?
  55. 55. リモートリポジトリーの作り方 • サーバーコンピューターを準備して
 Gitをインストール • Gitホスティングを借りる • プロジェクト管理サービスなどに
 おまけで付属してくることも 57
  56. 56. Gitホスティング 58 GitLab
  57. 57. demo
  58. 58. リモートリポジトリ • リポジトリをみんなで共有 • 他の人の更新を取り込んだり、
 自分の更新をアップしたり • Webサーバーへ、Gitを通じて
 アップロードすることも可能 60
  59. 59. Gitとは • バージョン管理システム • 他に「CSV」や「Subversion」など • Gitは「分散型」 61
  60. 60. Gitとは • バージョン管理システム • 他に「CSV」や「Subversion」など • Gitは「分散型」 62
  61. 61. 分散型バージョン管理 • 各個人が、保管場所を所持 • 共有したいブランチやタグを選んでプッシュ • ロックがかからない • お互い上書き(コンフリクト)は起こる 63
  62. 62. コンフリクトを解消しよう ノンプログラマでも今日から使える「Git」でバージョン管理 64
  63. 63. demo
  64. 64. コンフリクトの状況 • 自分が新しい • 相手が新しい • お互い新しい 66
  65. 65. 手動マージ 67 自分の変更 相手の変更
  66. 66. コマンドラインで使おう ノンプログラマでも今日から使える「Git」でバージョン管理 68
  67. 67. demo
  68. 68. すべての機能はコマンドでOK 70
  69. 69. コミット履歴なども見られます 71
  70. 70. どっちを使うべき?
  71. 71. 両方使おう • 普段のコミット、
 ブランチ作成くらいはコマンドで • コミット履歴を見たり、
 マージやコンフリクトまわりはGUIで 73 コマンドを怖がらず、こだわらず
  72. 72. まとめ • まずは、SourceTreeをインストール • 1人で、テストプロジェクトで試す • 1人で、実戦投入 • チームで利用 74
  73. 73. Git ノンプログラマでも今日から使える「Git」でバージョン管理

×