【社内輪読会】github実践入門2章

9
Gitの導入 Github実践入門 2株式会社CyberZ 鳥居

Upload: akira-torii

Post on 29-Nov-2014

304 views

Category:

Technology


0 download

DESCRIPTION

社内で開催した『Github実践入門』輪読会の資料です 内容がないw

TRANSCRIPT

Page 1: 【社内輪読会】Github実践入門2章

Gitの導入 Github実践入門 2章

株式会社CyberZ 鳥居 英

Page 2: 【社内輪読会】Github実践入門2章

アジェンダ

Gitの誕生背景やバージョン管理システムの説明

環境別インストール方法

設定方法

Page 3: 【社内輪読会】Github実践入門2章

Gitってなんだ?

定番ではありますがWikipedia先生に聞いてみました

“Git(ギット)は、プログラムのソースコードなどの変更履歴を記録・追跡する ための分散型バージョン管理システムである。もとはLinuxカーネルの ソースコード管理に用いるためにリーナス・トーバルズによって開発され、 それ以降ほかの多くのプロジェクトで採用されている。 Linuxカーネルのような巨大プロジェクトにも対応できるように、 動作速度に重点が置かれている。現在のメンテナンスは 濱野純 (Junio C Hamano) が担当している。 Gitでは、各ユーザのワーキングディレクトリに、全履歴を含んだリポジトリの 完全な複製が作られる。そのため、ネットワークアクセスがなく中心リポジトリに アクセスできない環境でも、履歴の調査や変更の記録といった ほとんどの作業を行うことができる。これが「分散型」と呼ばれる理由である。”

Page 4: 【社内輪読会】Github実践入門2章

誕生の背景

2005年に、Linuxカーネルの開発に利用されていたBitKeeperというバージョン管理ツールが、ライセンスの都合上利用できなくなった

代替ソフトウェアが必要になったが、他に要件を満たすバージョン管理ツール見当たらなかった

仕方ないのでLinuxの創始者であるLinus Torvalds氏が自ら作成したツールがGit

Page 5: 【社内輪読会】Github実践入門2章

集中型と分散型

バージョン管理システムには集中型と分散型がある

CVS(ロゴが見つからなかった…)

集中型 分散型

Page 6: 【社内輪読会】Github実践入門2章

集中型アーキテクチャ

メリット

一つの中央サーバーでリポジトリを管理するためシンプル

デメリット

リモートリポジトリに接続できない環境では、最新のソースコードの取得やファイル編集の反映が行えない

リモートリポジトリに負荷が集中してしまいパフォーマンスが落ちる

中央サーバーが故障し、データが消えた場合、ソースコード取得できなくなる

リモート

リポジトリ

開発者A 開発者B

commit

checkout commit

checkout

Page 7: 【社内輪読会】Github実践入門2章

分散型アーキテクチャ

メリット

開発者それぞれがローカルにリポジトリ持つので、リモートリポジトリにアクセスできない環境でも開発を行える

リモートリポジトリへの負荷を抑えることができる

Git(GitHub)の普及によって、標準になりつつある

デメリット

開発者各々がリポジトリを持つので、管理が煩雑

ルールを設けないと最新のソースコードがどこにあるのか把握しにくい

開発者A

push

fetch

ローカル

リポジトリ

リモート

リポジトリ

開発者B

commit

merge

ローカル

リポジトリ

push

fetch

commit

merge

Page 8: 【社内輪読会】Github実践入門2章

Mac

デフォルトでインストール済み!

デフォルトで入っていない場合はHomebrew等を使ってインストールする

http://brew.sh/

Linux

各種パッケージ管理ツールからインストールする

Windows

「mysysGit」をインストールするのが一番お手軽

http://msysgit.github.io/

インストール時には、改行コードの取り扱いに注意する

Github上で公開されているコードの大半はLFで改行を行うが、WindowsではCRLFで改行を行うため、「Checkout Windows-style, commit Unix-style lin endings」を選択し、

チェックアウト時はCRLF、コミット時はLFに改行コードを変換する。

インストール方法

Page 9: 【社内輪読会】Github実践入門2章

Gitの設定

Gitの設定は「~/.gitconfig」で管理する

.gitconfig設定例

コマンドからも設定できる

名前とメールアドレスの設定

コマンドを読みやすくする設定例

エイリアスの設定