Download - 【社内輪読会】Github実践入門2章
![Page 1: 【社内輪読会】Github実践入門2章](https://reader031.vdocuments.pub/reader031/viewer/2022020122/54812875b379595e2b8b5cb4/html5/thumbnails/1.jpg)
Gitの導入 Github実践入門 2章
株式会社CyberZ 鳥居 英
![Page 2: 【社内輪読会】Github実践入門2章](https://reader031.vdocuments.pub/reader031/viewer/2022020122/54812875b379595e2b8b5cb4/html5/thumbnails/2.jpg)
アジェンダ
Gitの誕生背景やバージョン管理システムの説明
環境別インストール方法
設定方法
![Page 3: 【社内輪読会】Github実践入門2章](https://reader031.vdocuments.pub/reader031/viewer/2022020122/54812875b379595e2b8b5cb4/html5/thumbnails/3.jpg)
Gitってなんだ?
定番ではありますがWikipedia先生に聞いてみました
“Git(ギット)は、プログラムのソースコードなどの変更履歴を記録・追跡する ための分散型バージョン管理システムである。もとはLinuxカーネルの ソースコード管理に用いるためにリーナス・トーバルズによって開発され、 それ以降ほかの多くのプロジェクトで採用されている。 Linuxカーネルのような巨大プロジェクトにも対応できるように、 動作速度に重点が置かれている。現在のメンテナンスは 濱野純 (Junio C Hamano) が担当している。 Gitでは、各ユーザのワーキングディレクトリに、全履歴を含んだリポジトリの 完全な複製が作られる。そのため、ネットワークアクセスがなく中心リポジトリに アクセスできない環境でも、履歴の調査や変更の記録といった ほとんどの作業を行うことができる。これが「分散型」と呼ばれる理由である。”
![Page 4: 【社内輪読会】Github実践入門2章](https://reader031.vdocuments.pub/reader031/viewer/2022020122/54812875b379595e2b8b5cb4/html5/thumbnails/4.jpg)
誕生の背景
2005年に、Linuxカーネルの開発に利用されていたBitKeeperというバージョン管理ツールが、ライセンスの都合上利用できなくなった
代替ソフトウェアが必要になったが、他に要件を満たすバージョン管理ツール見当たらなかった
仕方ないのでLinuxの創始者であるLinus Torvalds氏が自ら作成したツールがGit
![Page 5: 【社内輪読会】Github実践入門2章](https://reader031.vdocuments.pub/reader031/viewer/2022020122/54812875b379595e2b8b5cb4/html5/thumbnails/5.jpg)
集中型と分散型
バージョン管理システムには集中型と分散型がある
CVS(ロゴが見つからなかった…)
集中型 分散型
![Page 6: 【社内輪読会】Github実践入門2章](https://reader031.vdocuments.pub/reader031/viewer/2022020122/54812875b379595e2b8b5cb4/html5/thumbnails/6.jpg)
集中型アーキテクチャ
メリット
一つの中央サーバーでリポジトリを管理するためシンプル
デメリット
リモートリポジトリに接続できない環境では、最新のソースコードの取得やファイル編集の反映が行えない
リモートリポジトリに負荷が集中してしまいパフォーマンスが落ちる
中央サーバーが故障し、データが消えた場合、ソースコード取得できなくなる
リモート
リポジトリ
開発者A 開発者B
commit
checkout commit
checkout
![Page 7: 【社内輪読会】Github実践入門2章](https://reader031.vdocuments.pub/reader031/viewer/2022020122/54812875b379595e2b8b5cb4/html5/thumbnails/7.jpg)
分散型アーキテクチャ
メリット
開発者それぞれがローカルにリポジトリ持つので、リモートリポジトリにアクセスできない環境でも開発を行える
リモートリポジトリへの負荷を抑えることができる
Git(GitHub)の普及によって、標準になりつつある
デメリット
開発者各々がリポジトリを持つので、管理が煩雑
ルールを設けないと最新のソースコードがどこにあるのか把握しにくい
開発者A
push
fetch
ローカル
リポジトリ
リモート
リポジトリ
開発者B
commit
merge
ローカル
リポジトリ
push
fetch
commit
merge
![Page 8: 【社内輪読会】Github実践入門2章](https://reader031.vdocuments.pub/reader031/viewer/2022020122/54812875b379595e2b8b5cb4/html5/thumbnails/8.jpg)
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章](https://reader031.vdocuments.pub/reader031/viewer/2022020122/54812875b379595e2b8b5cb4/html5/thumbnails/9.jpg)
Gitの設定
Gitの設定は「~/.gitconfig」で管理する
.gitconfig設定例
コマンドからも設定できる
名前とメールアドレスの設定
コマンドを読みやすくする設定例
エイリアスの設定