HOME/Articles/

0. GitHub入門

Article Outline

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の使い方 を参照