SlideShare a Scribd company logo
1 of 6
TECH LEAD Job | https://job.techlead.jp
GLOBAL SHIFT | https://globalshift.co.jp
ちょっと丁寧にgitを説明する
• 本資料は、はてな匿名ダイアリー「クソ簡単にgitの説明をする」にインスパイアされ作成したものです
• 資料の対象は、エンジニア初心者やデザイナー、ノンエンジニアだけど開発に近い距離にいる人たちです
• 資料で使われる内容・用語に関する網羅性、正確性の担保は行っておりません。あくまでも、「gitってな
んぞや?」という疑問に対して、理解の一助になれれば幸いです
ディスクレーマー
AさんがgitやGitHubなど環境を整備
Master Branch (本番用)
Local (Git) : Aさん Remote (GitHub):Aさん
Master Branch
リポジトリー
git push
リポジトリー
Gitの最新版Download
ex. https://git-scm.com/download/mac
*Macの場合既にインストールされている場合あり
Download
Develop Branch (ステージング用) Develop Branch
git checkout -b
【環境整備】
 gitのダウンロード・インストール
 リモート(GitHub)の登録、リポジトリ作成
 マスタブランチにプログラム構築
 マスタブランチからコピー(git checkout -b)して
ディベロップブランチを作成*
 マスタ・ディベロップブランチをリモートに
プッシュ(git push)
*ディベロップブランチの作成は任意
BさんがRemoteリポジトリーをクローンし、ローカルで開発用ブランチを作成
Master Branch (本番用)
Local (Git) : Bさん Remote (GitHub)
Master Branch
リポジトリー
Develop Branch (ステージング用) Develop Branch
git clone
Work Branch 1 (開発用)
git checkout -b
リポジトリー
【リモートリポジトリーをローカルにコピー】
 リモートリポジトリーをローカルにコピー(git
clone)
 ローカルのディベロップブランチをコピー(git
checkout- b)、作業用のワークブランチを作成
Bさんがローカルブランチにコミットしてリモートリポジトリーにプッシュ
Master Branch (本番用)
Local (Git) : Bさん Remote (GitHub)
Master Branch
リポジトリー
Develop Branch (ステージング用) Develop Branch
Work Branch 1 (開発用)
Original Diff file
Staging file
git addgit commit
Work Branch 1
git push
リポジトリー
【ローカルワークブランチで修正をコミット】
 当該のプログラムファイルを修正
 修正したファイルをコミット対象に追加 (git add)
 コミット対象のファイルをローカルのワークブラ
ンチに反映 (git commit)
 コミットしたワークブランチをリモートに反映
(git push)
Aさんが開発ブランチをリモートでマージ。ローカルにも最新版(差分)をプル
Master Branch (本番用)
Local (Git) : Aさん、Bさん Remote (GitHub):Aさん
Master Branch
リポジトリー
Develop Branch (ステージング用) Develop Branch
Work Branch 1
git merge *conflict
git merge *conflictgit pull
(git fetch + merge)
【リモートでワークブランチを反映】
 リモートのワークブランチをディベロップブラン
チに反映(git merge)
 ローカルのディベロップが古かったりすると、リ
モートのディベロップとの差分でワークブランチ
を反映できない(できてねーじゃねーか状態)
 リモートでのワークブランチのマージが完了後、
最新の状態のリモートブランチをローカルに反映
(git pull)
 「お前にはまだ早い」git fetchは、git fetch + git
merge = git pull という理解で良さそう
リポジトリー

More Related Content

What's hot

IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~Hideki Takase
 
インテル Real Sense Hands On Lab
インテル Real Sense Hands On Labインテル Real Sense Hands On Lab
インテル Real Sense Hands On LabKaoru NAKAMURA
 
GitLabを16万8千光年ワープさせた話(改)
GitLabを16万8千光年ワープさせた話(改)GitLabを16万8千光年ワープさせた話(改)
GitLabを16万8千光年ワープさせた話(改)Wataru NOGUCHI
 
All about 開発本部infra部 TASKs
All about 開発本部infra部 TASKsAll about 開発本部infra部 TASKs
All about 開発本部infra部 TASKsgree_tech
 
Clean Architecture用の開発ツールを作ったお話
Clean Architecture用の開発ツールを作ったお話Clean Architecture用の開発ツールを作ったお話
Clean Architecture用の開発ツールを作ったお話雄大 廣瀬
 
「DevOps with GitLab」でDevOps環境をセットアップしてみた!
「DevOps with GitLab」でDevOps環境をセットアップしてみた!「DevOps with GitLab」でDevOps環境をセットアップしてみた!
「DevOps with GitLab」でDevOps環境をセットアップしてみた!VirtualTech Japan Inc./Begi.net Inc.
 
脆弱性スキャナVulsの紹介とMackerelメタデータと連携した脆弱性管理
脆弱性スキャナVulsの紹介とMackerelメタデータと連携した脆弱性管理脆弱性スキャナVulsの紹介とMackerelメタデータと連携した脆弱性管理
脆弱性スキャナVulsの紹介とMackerelメタデータと連携した脆弱性管理Takayuki Ushida
 
ウェアラブルデバイスとモーションセンサーの融合
ウェアラブルデバイスとモーションセンサーの融合ウェアラブルデバイスとモーションセンサーの融合
ウェアラブルデバイスとモーションセンサーの融合Kaoru NAKAMURA
 
20171105 go con2017_lt
20171105 go con2017_lt20171105 go con2017_lt
20171105 go con2017_ltKeigo Suda
 
でぶさみ夏2013 キーノート オレンジレンジャーの資料
でぶさみ夏2013 キーノート オレンジレンジャーの資料でぶさみ夏2013 キーノート オレンジレンジャーの資料
でぶさみ夏2013 キーノート オレンジレンジャーの資料Tomohiro Fujii
 
IoT 入門 ~ .NET Gadgeteer で簡単プログラミング
IoT 入門 ~ .NET Gadgeteer で簡単プログラミングIoT 入門 ~ .NET Gadgeteer で簡単プログラミング
IoT 入門 ~ .NET Gadgeteer で簡単プログラミングYoshitaka Seo
 
Kinect v2 応用事例
Kinect v2 応用事例Kinect v2 応用事例
Kinect v2 応用事例Kaoru NAKAMURA
 
クラウド―Arduino接続について
クラウド―Arduino接続についてクラウド―Arduino接続について
クラウド―Arduino接続についてKenichi Yoshida
 
Node-REDのプログラミングモデル
Node-REDのプログラミングモデルNode-REDのプログラミングモデル
Node-REDのプログラミングモデルAtsushi Kojo
 

What's hot (20)

DevOps with GitLabで始める簡単DevOps
DevOps with GitLabで始める簡単DevOpsDevOps with GitLabで始める簡単DevOps
DevOps with GitLabで始める簡単DevOps
 
ニフクラでも できる!Kubernetes。
ニフクラでも できる!Kubernetes。ニフクラでも できる!Kubernetes。
ニフクラでも できる!Kubernetes。
 
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
 
Algolia
AlgoliaAlgolia
Algolia
 
インテル Real Sense Hands On Lab
インテル Real Sense Hands On Labインテル Real Sense Hands On Lab
インテル Real Sense Hands On Lab
 
GitLabを16万8千光年ワープさせた話(改)
GitLabを16万8千光年ワープさせた話(改)GitLabを16万8千光年ワープさせた話(改)
GitLabを16万8千光年ワープさせた話(改)
 
All about 開発本部infra部 TASKs
All about 開発本部infra部 TASKsAll about 開発本部infra部 TASKs
All about 開発本部infra部 TASKs
 
GitLab から GitLab に移行したときの思い出
GitLab から GitLab に移行したときの思い出GitLab から GitLab に移行したときの思い出
GitLab から GitLab に移行したときの思い出
 
Clean Architecture用の開発ツールを作ったお話
Clean Architecture用の開発ツールを作ったお話Clean Architecture用の開発ツールを作ったお話
Clean Architecture用の開発ツールを作ったお話
 
「DevOps with GitLab」でDevOps環境をセットアップしてみた!
「DevOps with GitLab」でDevOps環境をセットアップしてみた!「DevOps with GitLab」でDevOps環境をセットアップしてみた!
「DevOps with GitLab」でDevOps環境をセットアップしてみた!
 
脆弱性スキャナVulsの紹介とMackerelメタデータと連携した脆弱性管理
脆弱性スキャナVulsの紹介とMackerelメタデータと連携した脆弱性管理脆弱性スキャナVulsの紹介とMackerelメタデータと連携した脆弱性管理
脆弱性スキャナVulsの紹介とMackerelメタデータと連携した脆弱性管理
 
ウェアラブルデバイスとモーションセンサーの融合
ウェアラブルデバイスとモーションセンサーの融合ウェアラブルデバイスとモーションセンサーの融合
ウェアラブルデバイスとモーションセンサーの融合
 
20171105 go con2017_lt
20171105 go con2017_lt20171105 go con2017_lt
20171105 go con2017_lt
 
デスクトップ向けUIコンポーネントの対応状況と今後の予定
デスクトップ向けUIコンポーネントの対応状況と今後の予定デスクトップ向けUIコンポーネントの対応状況と今後の予定
デスクトップ向けUIコンポーネントの対応状況と今後の予定
 
でぶさみ夏2013 キーノート オレンジレンジャーの資料
でぶさみ夏2013 キーノート オレンジレンジャーの資料でぶさみ夏2013 キーノート オレンジレンジャーの資料
でぶさみ夏2013 キーノート オレンジレンジャーの資料
 
IoT 入門 ~ .NET Gadgeteer で簡単プログラミング
IoT 入門 ~ .NET Gadgeteer で簡単プログラミングIoT 入門 ~ .NET Gadgeteer で簡単プログラミング
IoT 入門 ~ .NET Gadgeteer で簡単プログラミング
 
Kinect v2 応用事例
Kinect v2 応用事例Kinect v2 応用事例
Kinect v2 応用事例
 
クラウド―Arduino接続について
クラウド―Arduino接続についてクラウド―Arduino接続について
クラウド―Arduino接続について
 
Azure による AI on Edge 解説
Azure による AI on Edge 解説Azure による AI on Edge 解説
Azure による AI on Edge 解説
 
Node-REDのプログラミングモデル
Node-REDのプログラミングモデルNode-REDのプログラミングモデル
Node-REDのプログラミングモデル
 

Similar to ちょっと丁寧にgitを説明する

【de:code 2020】 GitHub 新機能のご紹介(2020 年 5 月発表)
【de:code 2020】 GitHub 新機能のご紹介(2020 年 5 月発表)【de:code 2020】 GitHub 新機能のご紹介(2020 年 5 月発表)
【de:code 2020】 GitHub 新機能のご紹介(2020 年 5 月発表)日本マイクロソフト株式会社
 
GitHub ActionsでiOSのCIを実現しよう
GitHub ActionsでiOSのCIを実現しようGitHub ActionsでiOSのCIを実現しよう
GitHub ActionsでiOSのCIを実現しようShinya Nakajima
 
【de:code 2020】 セキュアなソフトウェアを実現する、GitHub のコード解析のご紹介
【de:code 2020】 セキュアなソフトウェアを実現する、GitHub のコード解析のご紹介【de:code 2020】 セキュアなソフトウェアを実現する、GitHub のコード解析のご紹介
【de:code 2020】 セキュアなソフトウェアを実現する、GitHub のコード解析のご紹介日本マイクロソフト株式会社
 
GitHub と Azure でアプリケーションとインフラストラクチャの守りを固めるDevSecOps
GitHub と Azure でアプリケーションとインフラストラクチャの守りを固めるDevSecOpsGitHub と Azure でアプリケーションとインフラストラクチャの守りを固めるDevSecOps
GitHub と Azure でアプリケーションとインフラストラクチャの守りを固めるDevSecOpsKazumi IWANAGA
 
Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)Makoto Kawano
 
日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 github日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 githubTomohiko Himura
 
超初心者向け!Visual Studio + Git で始める アジャイル開発 #fukuazu #jazug - ふくあず ~夏の終わりはDevelop...
超初心者向け!Visual Studio + Git で始める アジャイル開発 #fukuazu #jazug - ふくあず ~夏の終わりはDevelop...超初心者向け!Visual Studio + Git で始める アジャイル開発 #fukuazu #jazug - ふくあず ~夏の終わりはDevelop...
超初心者向け!Visual Studio + Git で始める アジャイル開発 #fukuazu #jazug - ふくあず ~夏の終わりはDevelop...満徳 関
 
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれKazumi IWANAGA
 
2018 07-18 git-hub講座
2018 07-18 git-hub講座2018 07-18 git-hub講座
2018 07-18 git-hub講座貴一 末田
 
Git 初心者講座 by forkwell
Git 初心者講座 by forkwellGit 初心者講座 by forkwell
Git 初心者講座 by forkwellsinsoku listy
 
今さら聞けない人のためのGit超入門 GitLab 14対応版
今さら聞けない人のためのGit超入門 GitLab 14対応版今さら聞けない人のためのGit超入門 GitLab 14対応版
今さら聞けない人のためのGit超入門 GitLab 14対応版VirtualTech Japan Inc./Begi.net Inc.
 
GHE導入から社内普及までの軌跡 - エバンジェリストとしての取り組みについて -
GHE導入から社内普及までの軌跡 - エバンジェリストとしての取り組みについて -GHE導入から社内普及までの軌跡 - エバンジェリストとしての取り組みについて -
GHE導入から社内普及までの軌跡 - エバンジェリストとしての取り組みについて -ShionITO1
 
今日から始めるGithub
今日から始めるGithub今日から始めるGithub
今日から始めるGithublion-man
 
Metahub for github
Metahub for githubMetahub for github
Metahub for githubSuguru Oho
 
Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)Shinya Nakajima
 
プランナーがPR駆動してみた話
プランナーがPR駆動してみた話プランナーがPR駆動してみた話
プランナーがPR駆動してみた話Rino Omura
 
RedmineとGitHubのうまい関係
RedmineとGitHubのうまい関係RedmineとGitHubのうまい関係
RedmineとGitHubのうまい関係Mitsuyoshi Kawabata
 
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!ymmt
 

Similar to ちょっと丁寧にgitを説明する (20)

01.app
01.app01.app
01.app
 
【de:code 2020】 GitHub 新機能のご紹介(2020 年 5 月発表)
【de:code 2020】 GitHub 新機能のご紹介(2020 年 5 月発表)【de:code 2020】 GitHub 新機能のご紹介(2020 年 5 月発表)
【de:code 2020】 GitHub 新機能のご紹介(2020 年 5 月発表)
 
GitHub ActionsでiOSのCIを実現しよう
GitHub ActionsでiOSのCIを実現しようGitHub ActionsでiOSのCIを実現しよう
GitHub ActionsでiOSのCIを実現しよう
 
【de:code 2020】 セキュアなソフトウェアを実現する、GitHub のコード解析のご紹介
【de:code 2020】 セキュアなソフトウェアを実現する、GitHub のコード解析のご紹介【de:code 2020】 セキュアなソフトウェアを実現する、GitHub のコード解析のご紹介
【de:code 2020】 セキュアなソフトウェアを実現する、GitHub のコード解析のご紹介
 
GitHub と Azure でアプリケーションとインフラストラクチャの守りを固めるDevSecOps
GitHub と Azure でアプリケーションとインフラストラクチャの守りを固めるDevSecOpsGitHub と Azure でアプリケーションとインフラストラクチャの守りを固めるDevSecOps
GitHub と Azure でアプリケーションとインフラストラクチャの守りを固めるDevSecOps
 
Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)
 
Yapc2012資料
Yapc2012資料Yapc2012資料
Yapc2012資料
 
日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 github日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 github
 
超初心者向け!Visual Studio + Git で始める アジャイル開発 #fukuazu #jazug - ふくあず ~夏の終わりはDevelop...
超初心者向け!Visual Studio + Git で始める アジャイル開発 #fukuazu #jazug - ふくあず ~夏の終わりはDevelop...超初心者向け!Visual Studio + Git で始める アジャイル開発 #fukuazu #jazug - ふくあず ~夏の終わりはDevelop...
超初心者向け!Visual Studio + Git で始める アジャイル開発 #fukuazu #jazug - ふくあず ~夏の終わりはDevelop...
 
地味だけど劇的に便利になる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 初心者講座 by forkwell
Git 初心者講座 by forkwellGit 初心者講座 by forkwell
Git 初心者講座 by forkwell
 
今さら聞けない人のためのGit超入門 GitLab 14対応版
今さら聞けない人のためのGit超入門 GitLab 14対応版今さら聞けない人のためのGit超入門 GitLab 14対応版
今さら聞けない人のためのGit超入門 GitLab 14対応版
 
GHE導入から社内普及までの軌跡 - エバンジェリストとしての取り組みについて -
GHE導入から社内普及までの軌跡 - エバンジェリストとしての取り組みについて -GHE導入から社内普及までの軌跡 - エバンジェリストとしての取り組みについて -
GHE導入から社内普及までの軌跡 - エバンジェリストとしての取り組みについて -
 
今日から始めるGithub
今日から始めるGithub今日から始めるGithub
今日から始めるGithub
 
Metahub for github
Metahub for githubMetahub for github
Metahub for github
 
Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)
 
プランナーがPR駆動してみた話
プランナーがPR駆動してみた話プランナーがPR駆動してみた話
プランナーがPR駆動してみた話
 
RedmineとGitHubのうまい関係
RedmineとGitHubのうまい関係RedmineとGitHubのうまい関係
RedmineとGitHubのうまい関係
 
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
 

ちょっと丁寧にgitを説明する