SlideShare a Scribd company logo
はじめてのGit & GitHubのすすめ




               Hideaki Honda
この資料の目的と説明内容


[資料の目的]
Git、GitHubとは何かを知ってもらうことを目的としています。
インストールやコマンド等による操作の説明は含んでおりません。


[説明の内容]
 Gitの概要、背景、特徴
 Gitの人気、採用実績
 分散管理について(集中管理型と分散管理型)
 Git以外の分散管理型VCS
 Gitが使えるコードホスティングサービス
 GitHubの概要など


 Page 2
Git とは


Git(ギット)はバージョン管理システムの1つです。
(version control system, VCS)


バージョン管理システムとは、ソフトウェア開発において
ソースコードを管理するためのシステムです。
ソースコードの変更履歴を保管することができて、
過去の状態や変更内容を確認したり復元したりすることが容易で、
今日のソフトウェア開発では無くてはならないものです。




 Page 3
Git 背景と特徴


背景
2005年、Linuxカーネルのソースコード管理を目的として、
Linuxの生みの親、リーナス・トーバルズによって開発されました。


特徴
Gitは、オープンソースであり、無償で使用することが出来ます。
また、分散管理型という方式でソースコードを管理します。




 Page 4
Git の人気は?


以下のグラフは、Google検索のトレンドを表しています。
この結果が、現場での普及度とイコールにはなりませんが、世の中の関心が
高まっていることは想像がつきます。svnとcvsはまだまだ安定して使われていますが、
Gitはこれからますます右肩上がりに伸びていくのではないでしょうか。




                            □Google検索のトレンドを表したグラフ
  Page 5
Git 採用実績


以下はGitを使用している会社またはプロジェクトの一覧です。
特に、OSSプロジェクトでの採用が増えています。
           Google
           Facebook
           Microsoft
           Twitter
           Android
           Linux
           Ruby on Rails
           Qt
                           LinkedIn
                           Netflix
                           Perl
                           PostgreSQL
                           GNOME
                           eclipse
                           KDE
 Page 6
                           X.Org
Git 分散管理とは
-用語の説明_1

以降の説明のなかに出てくる用語の説明です。
同じ言葉でも、svnとGitでは意味が変わってくるため注意が必要です。
[用語]
 リポジトリ
   1つのプロジェクト(プログラムとして)に対して1つのリポジトリを持つのが
    一般的。ソースの変更情報を持つデータ群。
 メインリポジトリ
   リモートリポジトリとも呼ばれる。
   サーバに配置するリポジトリを指す。
 ローカルリポジトリ
   作業者のローカルマシンに配置するリポジトリを指す。svnでは存在しない。
 作業コピー
   ワーキングコピー、ワーキングツリーとも呼ばれる。
   リポジトリの内容を作業者のローカルマシンに展開したもの。
 Page 7
Git 分散管理とは
-用語の説明_2

 commit(コミット)
   svnの場合、メインリポジトリに作業コピーの変更内容を反映することを指す
   Gitの場合、ローカルリポジトリに作業コピーの変更内容を反映することを指す
 checkout(チェックアウト)
   svnの場合、メインリポジトリの内容を作業コピーに展開・反映することを指す
   Gitの場合、ローカルリポジトリの内容を作業コピーに展開・反映することを指す
 push(プッシュ)
   svnには無い操作です。
   Gitで、ローカルリポジトリの内容を、メインリポジトリに反映することを指す
 clone(クローン)
   svnには無い操作です。
   Gitで、メインリポジトリをコピーし、ローカルリポジトリを作成することを指す
 pull (プル)
   svnには無い操作です。
   Gitで、メインリポジトリの更新を、ローカルリポジトリに取り込むことを指す
 Page 8
Git 分散管理とは


バージョン管理システムは、大きく以下2つの管理方式があります。

  • 集中管理型
     採用している主な製品 : CVS、Subversion

  • 分散管理型
     採用している主な製品 : Git、Mercurial、Bazaar


   Gitでは分散管理型を採用しています。
   それぞれの特徴を見てみましょう。


 Page 9
Git 分散管理とは
-集中管理型について

概要
全てのユーザが1つのメインリポジトリを使用し、
そこにアクセスすることで変更履歴を見たり、
変更内容を反映させることが出来る仕組みです。
メリット
 操作そのものは単純なので、比較的習得しやすい
 と言えるのではないでしょうか。また、作業
 フローも理解しやすいと思います。
デメリット
 あえて挙げるならば、サーバがダウンしてしまうと     図1


 変更履歴さえも見えなくなってしまうことでしょうか。
 Page 10
Git 分散管理とは
-分散管理型について

概要
メインリポジトリの他に、ユーザも個々にローカルリポジトリを持ちます。
ローカルリポジトリには、メインリポジトリと同じ情報を持っています。
メリット
 サーバにアクセスしなくても、
 「状態を戻す」「変更履歴をみる」
 などのことが出来ます。また、他人に
 影響を与えずに、ローカルリポジトリ
 の中で変更を管理することが出来ます。
デメリット
 作業フローが柔軟にできるゆえに、
 操作が複雑になるかもしれません。
 Page 11                       図1
Git その他の分散管理型VCS


Git以外にも、MercurialやBazaarなど、分散管理型のVCSは
ありますが、Gitが最も人気があるようです。

以下のグラフは、Google検索のトレンドを表しています。




 Page 12
Git コードホスティングサービス


自分のソースコードもクラウド上で管理出来る時代です。
Gitが使えるホスティングサービスをピックアップしました。

• GitHub       https://github.com/
• BitBucket       https://bitbucket.org/
• Assembla        https://www.assembla.com/home
• Kiln       http://www.fogcreek.com/Kiln/
• Stash       http://www.atlassian.com/ja/software/stash/overview

今回はGitHubを取り上げて、以降のページで説明していきます。


  Page 13
GitHub とは_1


GitHubは・・・
Gitを使った最もポピュラーなコードホスティングサービスです。
自分のコードを、クラウド上に保管することが出来ます。
基本は無料で利用可能。コードはネット上に公開されますが、
反対に他人のコードも自由に閲覧することが出来ます。
アカウントを有償(7$から)でアップグレードすると、
公開を制限し、プライベート環境で利用することも
可能になります。
[URL]
https://github.com/
 Page 14
GitHub とは_2


GitHubには、有名なプロジェクトも数多くホスティング
されています。そのプロジェクトの変更履歴をリアルタイム
で見ることができますし、また、その気があればプロジェクト
に参加することも出来ます。ユーザ同士でフォローすることも
出来ますので、コードでコミュニケーションが取れる
ソーシャルサービスとも言えます。




 Page 15
GitHub こんな場面でも


GitHubのユーザアカウントは、開発者向けサイトの認証用ユーザとしても
利用することが出来ます。以下のサイトは、一例になりますが、
こういったところからも、GitHubの利用が進んでいることが分かります。




                   左上: http://qa.atmarkit.co.jp/
                   左下: https://codeiq.jp/
                   右上: http://qiita.com/



 Page 16
以上で終了となります。

More Related Content

PPTX
Kubernetes Controller for Pull Request Based Environment
Vishal Banthia
 
PDF
はじめてのソフトウェアテスト2019
Rina Fukuda
 
PDF
Nginx lua
Moriyoshi Koizumi
 
PPTX
XAML Islands
m ishizaki
 
PPTX
6th Pay Commission - Indian Railways
Ravishankar Duvvuri
 
PDF
うちのRedmineの使い方
Tomohisa Kusukawa
 
PDF
Twitterのsnowflakeについて
moai kids
 
PDF
基礎から学ぶシトリックス仮想化製品(XenDesktop, XenApp)
Citrix Systems Japan
 
Kubernetes Controller for Pull Request Based Environment
Vishal Banthia
 
はじめてのソフトウェアテスト2019
Rina Fukuda
 
XAML Islands
m ishizaki
 
6th Pay Commission - Indian Railways
Ravishankar Duvvuri
 
うちのRedmineの使い方
Tomohisa Kusukawa
 
Twitterのsnowflakeについて
moai kids
 
基礎から学ぶシトリックス仮想化製品(XenDesktop, XenApp)
Citrix Systems Japan
 

Viewers also liked (6)

PDF
Introduction to web development 1
hideaki honda
 
PDF
GitHub入門 手順編
hideaki honda
 
PDF
jQueryを中心としたJavaScript
hideaki honda
 
PDF
世界一簡単なGithub入門(githubは無料で使用する場合、全てのファイルが公開されていることにご注意ください)
Shinichi Hirauchi
 
PPTX
はじめてのgithub
Yasutaka Hamada
 
PDF
漢は黙ってjQuery
Takuma Hanatani
 
Introduction to web development 1
hideaki honda
 
GitHub入門 手順編
hideaki honda
 
jQueryを中心としたJavaScript
hideaki honda
 
世界一簡単なGithub入門(githubは無料で使用する場合、全てのファイルが公開されていることにご注意ください)
Shinichi Hirauchi
 
はじめてのgithub
Yasutaka Hamada
 
漢は黙ってjQuery
Takuma Hanatani
 
Ad

Similar to Git&GitHub入門 (20)

PDF
VCS - Version Control System at Security and Programming camp 2011
Hiro Yoshioka
 
PPTX
Git社内勉強会資料
Kenji Takei
 
PDF
Git -分散バージョン管理システム-
Koji Shinba
 
PDF
ゆるふわっGit入門
Keisuke Oohata
 
PDF
GitHubにおける開発フローについてのお話
Sota Sugiura
 
PDF
【社内輪読会】Github実践入門2章
Akira Torii
 
PPTX
Gitのいろは
祐輝 今井
 
PPTX
git入門(講義っぽく)
kataware
 
ODP
Next-L Enju 開発ワークショップ #02
Kosuke Tanabe
 
PDF
Git 20100313
Taku AMANO
 
PDF
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
DoshishaUniv ProntiatVR
 
PDF
なるべく噛み砕いたGit基礎講習
石橋 啓太
 
PPTX
Gitに触れよう
Trash Briefing ,Ltd
 
PPTX
Git勉強会 #01
risaiku リサイク
 
PPTX
Git/GitHub
Nariaki Tateiwa
 
PPTX
Git勉強会資料
Kenji Takei
 
PDF
バージョン管理Git
松本 雄貴
 
PDF
バージョン管理システムチュートリアル
Ryo Igarashi
 
PPTX
第1回Git勉強会
kunimiya
 
PDF
Version Control System Tutorial バージョン管理システムチュートリアル
Computational Materials Science Initiative
 
VCS - Version Control System at Security and Programming camp 2011
Hiro Yoshioka
 
Git社内勉強会資料
Kenji Takei
 
Git -分散バージョン管理システム-
Koji Shinba
 
ゆるふわっGit入門
Keisuke Oohata
 
GitHubにおける開発フローについてのお話
Sota Sugiura
 
【社内輪読会】Github実践入門2章
Akira Torii
 
Gitのいろは
祐輝 今井
 
git入門(講義っぽく)
kataware
 
Next-L Enju 開発ワークショップ #02
Kosuke Tanabe
 
Git 20100313
Taku AMANO
 
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
DoshishaUniv ProntiatVR
 
なるべく噛み砕いたGit基礎講習
石橋 啓太
 
Gitに触れよう
Trash Briefing ,Ltd
 
Git勉強会 #01
risaiku リサイク
 
Git/GitHub
Nariaki Tateiwa
 
Git勉強会資料
Kenji Takei
 
バージョン管理Git
松本 雄貴
 
バージョン管理システムチュートリアル
Ryo Igarashi
 
第1回Git勉強会
kunimiya
 
Version Control System Tutorial バージョン管理システムチュートリアル
Computational Materials Science Initiative
 
Ad

Recently uploaded (10)

PDF
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
PDF
VMUG Japan book vsan 20250515 CPU/Memory vSAN
Kazuhiro Sota
 
PPTX
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
PDF
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 
PDF
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
 
PPTX
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
PDF
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
PDF
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
 
PDF
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
PDF
20250729_Devin-for-Enterprise
Masaki Yamakawa
 
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
VMUG Japan book vsan 20250515 CPU/Memory vSAN
Kazuhiro Sota
 
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
 
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
 
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
20250729_Devin-for-Enterprise
Masaki Yamakawa
 

Git&GitHub入門