Web制作を行う全ての方へ

GitHubを使ってみよう!導入と簡単な流れ、よく使うコマンドなど。

GitHubを覚えよう覚えようと思ってなかなか手をつけてこなかったので、そろそろ本腰入れて使おうと色々やってみたのでまとめておきます。

  1. 1.GitHubとは?
  2. 2.GitHubを使えるようにする
  3. 3.Git及びGitHubでよく使うコマンド一覧

GitHubとは?

GitHub

github

ソースファイルのバージョン管理システムにGitというものがあります。
Gitはリポジトリ(管理保存場所)先として、ローカル、もしくはリモートを選択出来るのですが、GitHubはそのリモート先にあたるもので、プロジェクトの管理をWeb上で行うことが出来るサービスです。

GitHubは無料で利用出来るプランも用意されています。容量に応じて金額が変わってきますが、プロジェクトを非公開で管理する場合は無料プランは選択出来ません。

料金プラン

GitHubには様々な機能が用意されています。
公開しているプロジェクトに対して、ソースファイルを自分のリポジトリにコピーを行い、プロジェクトをカスタマイズしてみたり(Fork:フォーク
また、そのカスタマイズしたソースファイルを、元々の開発者に対して利用してもらうようリクエストを送ったり(Pull Request:プルリクエスト
することができます。プロジェクトを公開する事で、自分だけではなく、多くの人がそのプロジェクトに関わることが可能になります。
これはオープンソースのメリットを更に活かせる機能であり、プロジェクトを複数人で開発するにあたり、非常に優れたサービスといえます。

GitHubを使えるようにする

GitHub

  1. 2-1.ローカルへGitのインストール
  2. 2-2.GitHubのアカウント取得と公開鍵の設定、リポジトリの作成
  3. 2-3.ローカルからGitHubまでの簡単な流れ

2-1.ローカルへGitのインストール

GitHubを利用するには、まずGitを自身の端末にインストールをする必要があります。Windowsにインストールする場合は過去に記事を書いているので、そちらをご参照ください。
デザイナーでも使うと便利なバージョン管理システムGitの勉強会に参加しました

Macや他のOSの場合はGitのサイトにインストール方法が掲載されています。
Git 1.4 使い始める – Gitのインストール

インストールが完了したらGitのglobalを設定しておきます。
※ここからはMacのターミナルを利用した方法で解説します。GUIを採用したソフトウェア等も存在します。そういうのを使うのも便利ですね

$ git config --global user.name "ユーザー名"
$ git config --global user.email メールアドレス

2-2.GitHubのアカウント取得と公開鍵の設定、リポジトリの作成

次にGitHubのアカウントを取得します。https://github.com/

GitHub

アカウントを開設したら色々と設定を行います。
まず、ローカルからGitHubにpushする際、接続するために必要となる公開鍵を登録します。

$ ssh-keygen

SSH鍵がローカルの$HOME/.ssh/に作成されるので、GitHubのAccountSettingにあるSSH Keysに登録します。

GitHub

画面が遷移するとAdd an SSH keyというボタンがあるので、そちらをクリックし、下記の項目を入力します。

SSH鍵設定

これで鍵の設定は完了です。

SSH鍵の登録が出来たら、プロジェクトを管理するためのリポジトリを作成します。
create a new repoのボタンから作成し、ファイルを上げてバージョン管理を行います。

GitHub

リポジトリ名を付けて、公開非公開を選択し、決定

リポジトリが出来たら内容を確認します。

リポジトリ確認

ここにつけた名前があれば、無事リポジトリは完成になります。中を確認し、ローカルの方でリモートの設定を行う必要があるのでページを開きます。

コマンドラインから入力する項目です。

上記内容をローカルで実行していくのですが、git remote add origin git@~と言う部分でローカルのGitに、リモート情報の設定を行う事になります。

次からは実際にGitへのコミット、GitHubへのpushになります。

2-3.ローカルからGitHubまでの簡単な流れ

$ git init

ローカルのディレクトリ内に「.git」という隠しディレクトリが作成されます。

$ git add "コミットしたいファイル名"

コミット対象にするファイルを指定します。
ファイルをアップデートしてコミットする際に必要な処理です。

$ git commit -m "コミットコメント"

ファイルに修正を加えたら、コミットしてバージョンを管理していきます。
コミットした場所へは簡単に戻ったり出来るので、こまめにしておくと便利ですね。

$ git push origin master

ローカルでコミットしていたものをリモート(GitHub)のリポジトリに送信します。

この流れでファイルのバージョン管理を行うことが出来ます。
GitHubに送信しておけば別の端末からでも作業が出来ますし、ソースコードの編集はGitHub上でも出来るので便利ですね。

Git及びGitHubでよく使うコマンド一覧

GitHub

他にもまだまだありますが、よく使うものはこんな感じでしょうか?

リポジトリの作成およびメンテナンスに利用するコマンド

$ git init

リポジトリを作成します。
ディレクトリ内に「.git」というディレクトリが作成されます。

$ git clone

既存のリポジトリをローカルに複製します。

$ git fsck
$ git fsck --full

リポジトリの正当性チェックを行います。
「--full」とオプションを付けることで完全なチェックが行えます。

$ git gc

リポジトリ内の不要なオブジェクトを削除し、最適化を行います。
コミットやマージが増えると、容量が圧迫されたり、パフォーマンスが低下したりしますが、最適化を行うことでそれらの改善が期待されます。

作業ツリーやブランチを操作・管理するコマンド

$ git status

変更が加えられたファイルを表示します。

$ git diff

ファイルに加えられた変更点をdiff形式で表示します。

$ git add

コミットするファイルを指定します。

$ git commit

変更点をコミットします。

$ git log

コミットログを閲覧します。
キーボードの「Q」で閲覧を終了します。

$ git reset

直前のコミットを取り消します。

$ git revert "コミット名"

作業ツリーを、指定したコミット時点の状態まで戻します。
git resetと似ていますが、こちらは「差し戻した」という情報が作業履歴に残ります。

$ git branch

ブランチ情報の表示、及び、ブランチの作成を行います。
何も指定しなければ、masterというブランチにコミットしていきます。
別のツリーを作成したい場合は、このコマンドを利用して新たなブランチを作成します。

$ git checkout
$ git checkout -b branch2

ブランチの切り替えを行います。
オプションとして「-b」を付け、その後ろに「branch2」というブランチ名を入れると「branch2」というブランチを作成し、そのブランチに切り替える事が出来ます。

$ git show-branch
$ git show-branch --all
$ git show-branch --more="表示させたい数"

ブランチの作成/変更/マージ履歴の表示を行います。

$ git merge

ローカルブランチのマージを行います。

$ git tag

コミットにタグを付けます。

$ git stash
$ git stash list
$ git stash pop

現在の作業ツリーの状態を一時的に保管します。
現在作業中の状態をコミットせずに、他のブランチを触りたい、作業したいという時に利用します。
作業ツリー状態を一時的に保存して、別のブランチへチェックアウトし、「pop」を使って後で再度呼び出す事が出来ます。
一時保存されている作業リストを「list」を使って確認することも出来るので便利ですね。

$ git rebase

ブランチの派生元(上流)を変更します。

ほかのリポジトリとの連携を行うコマンド

$ git pull "取込元リポジトリ"

ほかのリポジトリとの変更点を、ローカルリポジトリにマージします。

$ git push "送信先リポジトリ" "送信するブランチ:送信先ブランチ"

公開リポジトリに自分のリポジトリの内容を送信します。
送信先ブランチを省略すると、送信するブランチと同じブランチを指定したことになります。
また送信先に存在しない場合は新たに作成されます。

だーっと書きましたが、ひとまず使えるようにするまでにはこんな感じでいいと思います。
Gitのインストール等で躓くことが多いかもしれません。でもそこで諦めずに乗り越えると楽しい世界が待ってますよ。

追記

ローカルの~/.ssh/configの設定

2014年1月26日追記

Host github.com
  User "ユーザー名"
  Hostname github.com
  IdentityFile ~/.ssh/****_rsa #作った秘密鍵
  

viエディタ等でconfigファイルに追記します。

Ad



Comments

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です