GitHub入門
GitHubアカウント登録
GitHubから登録
登録メールアドレス宛てに確認メールが届くため、メール内のVerify mail addressリンクをクリックして、アカウントを有効化する
GitHubリポジトリ作成
リポジトリとは
ファイル、プログラム、設定情報等の「保管場所」のこと
Gitでは、バージョン管理する上で必要な変更履歴等を保存しておく場所のことを言う
GitHubダッシュボードのRepositoriesから、New repositoryをクリックし、新しいリポジトリを作成する
基本的にリポジトリはプロジェクト単位で作成するのが望ましい
リポジトリ名と説明文を記入したら、Create repositoryで新規リポジトリを作成する
開発環境にGitインストール
開発環境に合わせてGitをインストールする
例えば、CentOSやUbuntuなどのLinux系OSの場合、基本的にコマンド一発でインストールできる
# CentOS
$ sudo yum -y install git
# Ubuntu
$ sudo apt -y install git
Windows環境なら、Git for Windowsが便利
初期設定
Gitを使う宣言
Gitで管理したいディレクトリを作成し、ディレクトリ内で以下のコマンドを入力
$ git init
すると、.git
隠しフォルダが作成される
なお、Gitで管理したくないファイル等がある場合は、 .gitignore
ファイルを作成し、その中に記述する
メールアドレス・ユーザー名の設定
GitHubアカウント登録時に登録したメールアドレスとユーザー名を設定する
$ git config user.email メールアドレス
$ git config user.name ユーザー名
なお --global
オプションをつけて git config --global user.name ユーザ名
のようにすると、そのPC上で行なう全ての操作に対して常にこの情報を使うようになる
設定情報の確認
$ git config 確認したい設定
$ git config --list # 全ての設定情報を確認
設定情報の削除
$ git config --unset 削除したい設定
コミット
コミット : ファイルの変更履歴をGitデータベースに記録すること コミットしてしまえば、いつでもその時点の状態に戻ることが可能
事前確認
ファイルの状態を確認
$ git status
# => ファイルの変更があり、ステージングに上げられていないものは赤で表示されるはず
なお、ここで git checkout -- ファイル名
とすると変更前の状態に戻せる
続いて差分を確認
$ git diff
※add後(ステージングエリアに上げた後)は git diff --cached
で確認可能
管理対象に追加
「管理対象に追加」=「ステージングエリアに上げる」という言い方をすることがよくある
$ git add ステージングエリアに上げるもの
$ git add . # カレントディレクトリ直下のものを全てステージングに追加
$ git add --all # git管理下にあるファイルを全てステージングに追加
管理対象に追加後の確認
$ git status # ファイルの状態を確認
# => ステージングエリアにあるファイルは緑で表示されるはず
$ git diff --cached # 差分を確認
コミット実行
Gitでのコミットの意味は、変更履歴の記録である
基本的に、バグ修正や機能追加などの異なる意味を持つ変更は、できるだけ分けてコミットするのが望ましい
$ git commit
上記コマンドを入力すると、コミットメッセージ(変更履歴のコメント)を入力するエディターが起動するため、変更箇所がわかるようにコメントを記述する
Gitでは標準的に
1行目 : コミットでの変更内容の要約
2行目 : 空行
3行目以降 : 変更した理由
という形式でコメントを記述する
なお、コメントを一行で済ませる場合は、 git commit -m "コメント"
というコマンドが使える
コミットしたら念のためログを確認しておく
$ git log
git log --oneline
1コミットにつき1行だけのコンパクト表示で確認git log -p xxxxxx
どこが変更されているか詳細を確認git log --stat
どのファイルがどれくらい変更されてるか概略を確認
共有リポジトリの登録
リポジトリを共有化することで、ローカルでの開発内容を複数人で反映できるようになる
GitHubなどのWebサービスは、ここで初めて使うことになる
# リポジトリ名は通常 origin を使う
## 複数の共有(リモート)リポジトリを使う場合のみ任意の名前をつけることが多い
# リポジトリURLは、「GitHubリポジトリ作成」の項で作成したリポジトリのURLを入れる
## https://github.com/ユーザー名/リポジトリ名 のようなURLになるはず
## もちろん GitHub以外のサービス(Bitbucket, GitLabなど)で作成したリモートリポジトリのURLを登録することも可能
$ git remote add リポジトリ名 リポジトリURL
共有リポジトリへ反映
ローカルでの開発内容を共有リポジトリに反映させる
# リポジトリ名は基本 origin
# ブランチを切っていない場合、ブランチ名は master になる
## ブランチについては 1.Gitの使い方 や 2.git-flow 参照
$ git push -u リポジトリ名 ブランチ名
# => ユーザー名とパスワードを聞かれるため入力する
# => GitHubのリポジトリに内容が反映される
共有リポジトリからローカルに最新状態を反映
チームメンバーがGitHubに新しい変更をコミットした場合、基本的には最新の状態を自分のローカル環境に落としてきて、開発を継続することになる
リモートリポジトリの内容をローカルリポジトリに反映させる場合は、pullコマンドを使う
$ git pull リポジトリ名 ブランチ名
以上で、Gitによるバージョン管理とGitHubでのリポジトリ共有は、だいたいなんとかなるはず
より詳細なGitの使い方(変更の取り消し、ブランチの切り方など)は 1.Gitの使い方 を参照