SlideShare una empresa de Scribd logo
1 de 75
Descargar para leer sin conexión
Git
ノンプログラマでも今日から使える「Git」でバージョン管理
執筆中価格 ¥500
Gitってなに?
ノンプログラマでも今日から使える「Git」でバージョン管理
5
Gitとは
• バージョン管理システム
• 他に「CVS」や「Subversion」など
• Gitは「分散型」
6
詳しくは後ほど
プログラマーのもの?
ノンプログラマでも今日から使える「Git」でバージョン管理
7
Gitで小説を書く人も
8
チームで使うもの?
ノンプログラマでも今日から使える「Git」でバージョン管理
9
ひとりぼっちでも大丈夫
10
黒い画面を使うの?
ノンプログラマでも今日から使える「Git」でバージョン管理
11
ソフトも揃ってます
12
Gitをはじめよう
ノンプログラマでも今日から使える「Git」でバージョン管理
13
demo
なにが起こったの?
なにが起こった?
• リポジトリーを作る
• ステージングする
• リポジトリーにコミットする
• チェックアウトして元に戻す
16
なにが起こった?
• リポジトリーを作る
• ステージングする
• リポジトリーにコミットする
• チェックアウトして元に戻す
17
全然分からない!
言葉をおぼえよう
ノンプログラマでも今日から使える「Git」でバージョン管理
19
Gitは3階層
20
ここに履歴がたまる
準備場所
作業フォルダー
ワークツリー
インデックス
ローカル
リポジトリー
Gitは3階層
21
ワークツリー
ステージング
コミット
ローカル
リポジトリー
インデックス
Gitは3階層
22
?
ワークツリー
ステージング
コミット
ローカル
リポジトリー
インデックス
demo
ステージングは「箱詰め」
• リポジトリーは「倉庫」
• 倉庫には「箱」単位で詰め込める
• 箱に無造作に詰め込むと、あとが大変
• 目的別に箱を分けましょう
24
分ける基準は?
基本は「タスク」単位
• トップページを追加した
• 画像を変更した
• ナビゲーションにボタンを追加した
26
元に戻すときのことを考える
コミット履歴
27
e1193f8 初期化
ハッシュ(ID)
コミット履歴
28
e1193f8
5a09431
初期化
トップページを追加
コミット履歴
29
e1193f8
5a09431
初期化
トップページを追加
30e367c 画像を変更
コミット履歴
30
e1193f8
5a09431
初期化
トップページを追加
30e367c 画像を変更
420eac9 ボタンを追加
ここでリリース
コミット履歴
31
e1193f8
5a09431
初期化
トップページを追加
30e367c 画像を変更
420eac9 ボタンを追加 v1.0
タグ付け
タグを使う
• 特定のコミットにつけられる名前
• それをヒントに、履歴を辿ったり戻したり
• 英数字でつける。バージョン番号なども可
32
Dropboxなどとの違い
• Dropboxなどのバックアップは

日付単位・ファイル単位
• Gitは、「区切り」を自由に管理
• タグを使って、さらに整理できる
33
単なるバックアップではなく、「歴史」を作る
ブランチを使おう
ノンプログラマでも今日から使える「Git」でバージョン管理
34
ブランチ?(Brunch)
35
Branch = 枝
36
こんな時どうする?
37
 4月に一部リニューアルしたいんだよね
では、テストサーバーを使って作業しましょう
 あ、そういえばリニューアルの前に
 表記を変えて欲しいところがあった
え、もうリニューアル作業はじめちゃいましたよ
 テストサーバーで見せてねー
「ブランチ」で解決!
demo
ブランチを使えば解決!
• 普段使うのは「マスターブランチ」
• そこから、必要に応じて「ブランチ」

に分けていくことができる
• ブランチを取り込んだり、合流したりも
40
いつ、ブランチを作るの?
こんな時は Let’s ブランチ
• リリースまでに時間がかかりそうな作業
• 実験的な作業(あとでなかったことにしたい)
• 全体に大きな影響を与えそうな作業
42
常にブランチを切る人も
増えたブランチはどうなるの?
demo
mergeとrebaseはどう違うの?
merge
46
合流。でも過去はそのまま
rebase
47
合体。ブランチははなかったことに
cherry-pick(いいとこ取り)
48
他のブランチから変更をもらう
使い分け
• rebaseは、ちょっとした変更の時
• mergeは履歴として残しておきたい

大きな変更
• ブランチ同士の変更のやりとりは

cherry-pickで
49
git-flow
50
http://danielkummer.github.io/git-flow-cheatsheet/index.ja_JP.html
git-flow
• Gitを使ったソフトウェア開発モデル
• 専用ツール(コマンドライン)もある
• SourceTreeでも一部サポート
• ブランチ名などの参考に
51
チームで使おう
ノンプログラマでも今日から使える「Git」でバージョン管理
52
Gitは実は4階層
53
ワークツリー
インデックス
ローカル
リポジトリー
Gitは実は4階層
54
ワークツリー
インデックス
ローカル
リポジトリー
リモート
リポジトリー
プッシュ
プル
Gitは実は4階層
55
ワークツリー
インデックス
ローカル
リポジトリー
リモート
リポジトリー
ワークツリー
インデックス
ローカル
リポジトリー
クローン
どこにあるの?
リモートリポジトリーの作り方
• サーバーコンピューターを準備して

Gitをインストール
• Gitホスティングを借りる
• プロジェクト管理サービスなどに

おまけで付属してくることも
57
Gitホスティング
58
GitLab
demo
リモートリポジトリ
• リポジトリをみんなで共有
• 他の人の更新を取り込んだり、

自分の更新をアップしたり
• Webサーバーへ、Gitを通じて

アップロードすることも可能
60
Gitとは
• バージョン管理システム
• 他に「CSV」や「Subversion」など
• Gitは「分散型」
61
Gitとは
• バージョン管理システム
• 他に「CSV」や「Subversion」など
• Gitは「分散型」
62
分散型バージョン管理
• 各個人が、保管場所を所持
• 共有したいブランチやタグを選んでプッシュ
• ロックがかからない
• お互い上書き(コンフリクト)は起こる
63
コンフリクトを解消しよう
ノンプログラマでも今日から使える「Git」でバージョン管理
64
demo
コンフリクトの状況
• 自分が新しい
• 相手が新しい
• お互い新しい
66
手動マージ
67
自分の変更
相手の変更
コマンドラインで使おう
ノンプログラマでも今日から使える「Git」でバージョン管理
68
demo
すべての機能はコマンドでOK
70
コミット履歴なども見られます
71
どっちを使うべき?
両方使おう
• 普段のコミット、

ブランチ作成くらいはコマンドで
• コミット履歴を見たり、

マージやコンフリクトまわりはGUIで
73
コマンドを怖がらず、こだわらず
まとめ
• まずは、SourceTreeをインストール
• 1人で、テストプロジェクトで試す
• 1人で、実戦投入
• チームで利用
74
Git
ノンプログラマでも今日から使える「Git」でバージョン管理

Más contenido relacionado

La actualidad más candente

バージョン管理のワークフロー
バージョン管理のワークフローバージョン管理のワークフロー
バージョン管理のワークフロー
add20
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
Takashi Uemura
 

La actualidad más candente (20)

Gitの便利ワザ
Gitの便利ワザGitの便利ワザ
Gitの便利ワザ
 
はじめようGit
はじめようGitはじめようGit
はじめようGit
 
こわくない Git
こわくない Gitこわくない Git
こわくない Git
 
Git flowの活用事例
Git flowの活用事例Git flowの活用事例
Git flowの活用事例
 
デザイナのためのGit入門
デザイナのためのGit入門デザイナのためのGit入門
デザイナのためのGit入門
 
図解gitworkflows(7)
図解gitworkflows(7)図解gitworkflows(7)
図解gitworkflows(7)
 
寫給大家的 Git 教學
寫給大家的 Git 教學寫給大家的 Git 教學
寫給大家的 Git 教學
 
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
 
バージョン管理のワークフロー
バージョン管理のワークフローバージョン管理のワークフロー
バージョン管理のワークフロー
 
プログラミング勉強会「オトナのGit入門」
プログラミング勉強会「オトナのGit入門」プログラミング勉強会「オトナのGit入門」
プログラミング勉強会「オトナのGit入門」
 
Git 入門ちょい手前
Git 入門ちょい手前Git 入門ちょい手前
Git 入門ちょい手前
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
Redmineをプラグインで拡張しよう
Redmineをプラグインで拡張しようRedmineをプラグインで拡張しよう
Redmineをプラグインで拡張しよう
 
Git Started With Git
Git Started With GitGit Started With Git
Git Started With Git
 
やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
 
社内Git勉強会向け資料
社内Git勉強会向け資料社内Git勉強会向け資料
社内Git勉強会向け資料
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
コンセプトから理解するGitコマンド
コンセプトから理解するGitコマンドコンセプトから理解するGitコマンド
コンセプトから理解するGitコマンド
 

Destacado

Destacado (8)

WordCamp Kyoto 2009 LT Slide
WordCamp Kyoto 2009 LT SlideWordCamp Kyoto 2009 LT Slide
WordCamp Kyoto 2009 LT Slide
 
basic operation about git
basic operation about gitbasic operation about git
basic operation about git
 
Gmail奥義皆伝!
Gmail奥義皆伝!Gmail奥義皆伝!
Gmail奥義皆伝!
 
Gmailで働き方改革
Gmailで働き方改革Gmailで働き方改革
Gmailで働き方改革
 
Googleツールを使いこなして世界中の仲間と楽しく仕事を進めよう【初心者向け】
Googleツールを使いこなして世界中の仲間と楽しく仕事を進めよう【初心者向け】Googleツールを使いこなして世界中の仲間と楽しく仕事を進めよう【初心者向け】
Googleツールを使いこなして世界中の仲間と楽しく仕事を進めよう【初心者向け】
 
Rbpdf gem library
Rbpdf gem libraryRbpdf gem library
Rbpdf gem library
 
情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)
情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)
情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)
 
Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.
Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.
Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.
 

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

20120125 チーム開発
20120125 チーム開発20120125 チーム開発
20120125 チーム開発
s_taichan
 
20120125 チーム開発
20120125 チーム開発20120125 チーム開発
20120125 チーム開発
Taichi Shindo
 
Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuoka
Junji Manno
 

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

Introduction git
Introduction gitIntroduction git
Introduction git
 
git flowを使った開発フロー
git flowを使った開発フローgit flowを使った開発フロー
git flowを使った開発フロー
 
Git 10min
Git 10minGit 10min
Git 10min
 
ゆるふわっGit入門
ゆるふわっGit入門ゆるふわっGit入門
ゆるふわっGit入門
 
Git演習(1)
Git演習(1)Git演習(1)
Git演習(1)
 
20120125 チーム開発
20120125 チーム開発20120125 チーム開発
20120125 チーム開発
 
20120125 チーム開発
20120125 チーム開発20120125 チーム開発
20120125 チーム開発
 
超初心者のためのGitマニュアル
超初心者のためのGitマニュアル超初心者のためのGitマニュアル
超初心者のためのGitマニュアル
 
Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)
 
Git @ NNCT programming workshop
Git @ NNCT programming workshopGit @ NNCT programming workshop
Git @ NNCT programming workshop
 
私が複数人開発で感じている Git・GitHubのうまみ
私が複数人開発で感じている Git・GitHubのうまみ私が複数人開発で感じている Git・GitHubのうまみ
私が複数人開発で感じている Git・GitHubのうまみ
 
Githubサービスについて
GithubサービスについてGithubサービスについて
Githubサービスについて
 
2018 07-18 git-hub講座
2018 07-18 git-hub講座2018 07-18 git-hub講座
2018 07-18 git-hub講座
 
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
 
ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜
ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜
ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜
 
20160128 jjug Nightセミナー_Git実践入門
20160128 jjug Nightセミナー_Git実践入門20160128 jjug Nightセミナー_Git実践入門
20160128 jjug Nightセミナー_Git実践入門
 
Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuoka
 
2015.04.19 WordBench 埼玉 Git & WordPress
2015.04.19 WordBench 埼玉 Git & WordPress2015.04.19 WordBench 埼玉 Git & WordPress
2015.04.19 WordBench 埼玉 Git & WordPress
 
Git勉強会資料
Git勉強会資料Git勉強会資料
Git勉強会資料
 
GitHub Handson
GitHub HandsonGitHub Handson
GitHub Handson
 

Más de H2O Space. Co., Ltd.

Build Insider OFFLINE vol.01 スマートフォンサイトのこれから ~ レスポンシブ・Webデザインは救世主となり得るか
Build Insider OFFLINE vol.01 スマートフォンサイトのこれから ~ レスポンシブ・Webデザインは救世主となり得るかBuild Insider OFFLINE vol.01 スマートフォンサイトのこれから ~ レスポンシブ・Webデザインは救世主となり得るか
Build Insider OFFLINE vol.01 スマートフォンサイトのこれから ~ レスポンシブ・Webデザインは救世主となり得るか
H2O Space. Co., Ltd.
 
WordCamp2012 テストサーバーでWordPressを構築しよう
WordCamp2012 テストサーバーでWordPressを構築しようWordCamp2012 テストサーバーでWordPressを構築しよう
WordCamp2012 テストサーバーでWordPressを構築しよう
H2O Space. Co., Ltd.
 

Más de H2O Space. Co., Ltd. (8)

Build Insider OFFLINE vol.01 スマートフォンサイトのこれから ~ レスポンシブ・Webデザインは救世主となり得るか
Build Insider OFFLINE vol.01 スマートフォンサイトのこれから ~ レスポンシブ・Webデザインは救世主となり得るかBuild Insider OFFLINE vol.01 スマートフォンサイトのこれから ~ レスポンシブ・Webデザインは救世主となり得るか
Build Insider OFFLINE vol.01 スマートフォンサイトのこれから ~ レスポンシブ・Webデザインは救世主となり得るか
 
優雅に行こう! Coda 2で次世代のコーディングへ
優雅に行こう! Coda 2で次世代のコーディングへ優雅に行こう! Coda 2で次世代のコーディングへ
優雅に行こう! Coda 2で次世代のコーディングへ
 
WordCamp2012 テストサーバーでWordPressを構築しよう
WordCamp2012 テストサーバーでWordPressを構築しようWordCamp2012 テストサーバーでWordPressを構築しよう
WordCamp2012 テストサーバーでWordPressを構築しよう
 
ちゃんとWeb会議スライド『Coffee script』
ちゃんとWeb会議スライド『Coffee script』ちゃんとWeb会議スライド『Coffee script』
ちゃんとWeb会議スライド『Coffee script』
 
Android Bazaar and Conference 2012 Spring
Android Bazaar and Conference 2012 SpringAndroid Bazaar and Conference 2012 Spring
Android Bazaar and Conference 2012 Spring
 
H2O Space. HTML Coding Rule.
H2O Space. HTML Coding Rule.H2O Space. HTML Coding Rule.
H2O Space. HTML Coding Rule.
 
ADC meetup Session.02
ADC meetup Session.02ADC meetup Session.02
ADC meetup Session.02
 
WordPressご説明資料
WordPressご説明資料WordPressご説明資料
WordPressご説明資料
 

Último

Último (11)

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 

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