さくらのVPSを使ってシステム開発に必要な知識を学ぶ 〜第5回〜

はじめに

本連載は、システム開発に必要な知識を得るために、一通りの流れを学ぶことを目指しています。今回はgitコマンドを使う前に必要な準備を中心に解説します。

Gitで使用するユーザ名とメールアドレス

実際にgitコマンドを操作した時に記録されるユーザ名とメールアドレスを設定します。この設定は、gitを使い始める前に一度行えば十分です。

ユーザ名の設定

  • 構文:git config user.name ユーザ名

メールアドレスの設定

  • 構文:git config user.email メールアドレス

設定例

$ git config --global user.name "hogehoge"
$ git config --global user.email hogehoge@fuga.com
  • hogehoge: GitHubで使用するユーザー名を入力して下さい
  • hogehoge@fuga.com: GitHubで使用するメールアドレスを入力して下さい
  • オプションについて
    • --system:システム全体に対して設定
    • --global:該当ユーザの全リポジトリに対して設定
    • --local:該当のリポジトリのみ設定
    • 通常は --global で設定することがほとんどです

sshの設定

事前確認

まずsshがインストールされていることを確認します。

$ which ssh
$ /usr/bin/ssh

次に、.sshディレクトリが存在することを確認します。

$ ls -la ~/.ssh
ls: /Users/lifewood/.ssh: No such file or directory

.sshディレクトリがない場合は作成します。

$ mkdir .ssh
$ ls -la ~/.ssh
total 0
drwxr-xr-x   2 lifewood  staff   64  5 14 22:10 .
drwxr-x---+ 17 lifewood  staff  544  5 14 22:10 ..
$ cd ~/.ssh

ssh keyの作成

sshを利用するには、公開鍵と秘密鍵を作成する必要があります。ssh-keygenコマンドを使用して作成します。-tオプションで指定しているrsaは暗号方式です。

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/lifewood/.ssh/id_rsa): id_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa
Your public key has been saved in id_rsa.pub
The key fingerprint is:
SHA256:xxxxxxxxxxx  lifewood@lifewood-core-i7.local
The key's randomart image is:

sshの接続確認

sshによる接続ができるかどうかを確認します。下記のコマンドで確認できます。

$ ssh -T git@github.com

ssh keyをGitHubに設定

作成したssh keyのうち、公開鍵をGitHubに登録します。

まずは公開鍵をコピーします。下記のコマンド例ではpbcopyコマンドを使用していますが、これはMac環境で使えるコマンドです。Windowsなど他OSのユーザの方はマウスでコピーするなどしてください。

$ pbcopy < ~/.ssh/id_rsa.pub

次に、GitHubの設定ページを開きます。GitHubにログインし、画面右上のプロフィールアイコンから「Settings」を選ぶと設定ページに遷移します。

設定ページの左側メニューから「SSH and GPG keys」を選びます。するとssh keyの登録画面が表示されますので、「New SSH Key」ボタンをクリックします。

ssh keyの登録画面が出てきますので、Keyの欄に、先ほどコピーした公開鍵を貼り付けます。また、Title欄にkeyの名前を付けます(任意の名前で結構です)。

下図のようになれば設定完了です。

gitコマンドを使ってみる

ここからはgitコマンドの使い方を説明していきます。

gitコマンドの一覧表

gitには多数のコマンドがありますが、その中でもよく使うコマンドを一覧で紹介します。コマンドはアルファベット順に並んでいます。

コマンド名用途利用頻度備考
git addコミット対象のファイルを登録-
git branchブランチの作成/一覧表示-
git checkout処理対象ブランチの切り替え-
git cloneリポジトリをコピー-
git commit変更されたファイルをコミット(ローカルリポジトリに変更内容を入れ込む)-
git configアカウント名やメールアドレスを指定します-
git diffファイル内の差分箇所を表示-
git gcリポジトリを最適化必要な場面が少ないです
git initリポジトリを新規作成自分で最初から作成する場合に使います
git logコミット履歴を表示-
git merge別のブランチから変更点をマージ-
git mvファイルを移動/ファイル名を変更必要な場面が少ないです
git pullリモートリポジトリの変更点をローカルリポジトリにマージ-
git pushローカルリポジトリの変更点をリモートリポジトリにマージ-
git rebase派生元ブランチに変更点をマージgitコマンドに慣れてから使います
git reset直前のコミットを取消-
git revert特定のコミットを取消-
git stash作業ツリーの状態を一時的に保存gitコマンドに慣れてから使います
git status作業ツリー内の差分ファイルを表示-
git tagコミットにタグを付ける-
  • ◎:毎日のように使うコマンド
  • ○:作業の節目に使うコマンド
  • △:あとからマスターしてもよいコマンド

その他のコマンドについて

上記以外にも多数のコマンドがあります。さらに詳しく知りたい方は公式キュメントをご覧ください。

一般的な業務におけるgitコマンドの使い方

一般的な業務の流れにおいて、どのような場面でどんなgitコマンドを使うかを説明します。

  1. git clone
    • 最初に、プロダクトのリポジトリをローカルPCにコピーします。
  2. git branch
    • 作業をするにあたり、作業ブランチを作成します。
    • オプションを使って、下記のgit checkoutと同時に切り替えることも可能です。
  3. git checkout
    • 上記で作成した作業ブランチに切り替えます。
    • オプションを使って、上記のgit branchと同時に切り替えることも可能です。
  4. git add
    • 作業で変更したファイルをリポジトリに追加します。
  5. git commit
    • 作業で変更したファイルをコミット(意訳:保存)します。
  6. git push
    • 作業で変更したファイルをローカルリポジトリからリモートリポジトリにアップロードします。

6まで作業した後に、GitHubにてPull Requestを作成し、レビューを待ちます。

なお、本記事ではGitのブランチ戦略(git branchなどを使ったブランチの作成をどのような方針で運用するか)については説明を割愛します。

まとめ

今回はgitコマンドを使う前に必要な準備と、gitコマンドの一覧、および業務におけるgitコマンドを使った作業の大まかな流れを説明しました。次回は業務におけるgitコマンドの利用を、実例を交えて解説します。