概要
- 仕事でgithubを使うことになったので、「GitHub実践入門」を片手に勉強。
- SVNの使用経験はある
GitHubの世界へ
- タコと猫みたいなマスコットの名前は「octocat」
- GitHubの最大の目玉はpull request
- タスク管理やバグ報告はIssueを使ってやりとりできる
- ユーザが文字入力するすべての機能はGitHub Flavored Markdown(GFM)で記述可能
- WatchするとNews Feedに情報が流れてくる
- リポジトリは無料で何個でも作成可能。しかしプライベートリポジトリは有料
Pull Requestとは
- 自分のリポジトリにpushした変更や機能追加を他の人のリポジトリに取り込んでもらうための要求を出す機能
- 要求を受けた人は、変更内容を確認して取り込むか決める
- ソースの行単位でコメントを付けられる
Organization
- 会社用アカウント
- アカウントや権限の管理を一括でできる
Issue
- チケット的なもの
- バグや議論などをトラッキングして管理する
- ラベルを付けて整理できる
- 使い方の例
- バグのレポート
- 作者に質問
- 今後のタスクを書き出す
Gitについて
集中型(SVN)と分散型(Git)の違い
項目 | 集中型 | 分散型 |
---|---|---|
リポジトリ | サーバに一つ | ユーザのローカル&サーバ |
コミット | サーバが止まるとコミットできない | ローカルでコミット可能 |
メリット | シンプルな作り | いつでも好きに作業可能 |
デメリット | サーバに依存 | どこが最新か分からなくなる |
- これからは圧倒的に分散型が流行るでしょ
- リポジトリが分散しているという考え方を身につければ難しくない
- ただ分散型は運用ルールを事前に決めておく必要がある
インストール
- Macは最初からgitをサポートしている
- WindowsはmsysGitを使うのが手軽
改行コードの扱い
- GitHubで公開されている大半はLF(Mac,Linux)
- WindowsはCRLFなので、Gitで自動変換してくれるようにすること
- 「Checkout Windows-style Unix-style line endings」をチェック
GitHub導入
GitHubアカウント作成
リポジトリの作成
基本的な使い方
- プロジェクトのリポジトリをcloneでローカルPCに持ってくる
- 編集してコミット(この段階ではまだローカルだけに反映)
- 問題なければpushで、githubへ反映される
- 他の人が編集したらpullで変更をローカルに反映
branch
- カレントbranch確認
$ git branch
* master
- branch作成
$ git chekout -b test_branch
$ git branch
master
* test_branch
// checkout -bは↓のコマンドと同じ
$ git branch test
$ git checkout test
- branch移動
$ git checkout test
remoteリポジトリ
- remoteリポジトリ追加
$git remote add origin git@github.com:name/repo.git
- originがわからなくなった場合
$ git remote -v
今日はここまで