gitのインストールと設定

1. gitのインストールと初期設定

1.1 インストール

gitをインストールする.

$ sudo apt-get update
$ sudo apt-get install git

動作確認として,バージョンを表示させる.

$ git --version

1.2 初期設定

 ユーザ名とメールアドレスを登録する.
$ git config --global user.name hoge
$ git config --global user.email hoge@hoge.com
~/.gitconfigというファイルができ,ユーザ名とメールアドレスが記載される.

2. ローカルリポジトリ

2.1 作成

gitでバージョン管理したいディレクトリに移動し,ローカルリポジトリを作成する.
$ cd hoge
$ git init

以下のように表示され,hoge/.gitディレクトリが作成される.

Initialized empty Git repository in hoge/.git/
 状態を表示させる.
$ git status

2.2 addとcommit

「hoge.txt」という名前のファイルを作成し,ステージングにaddし,状態を表示させる.

$ echo 'hoge' > hoge.txt
$ git add hoge.txt
$ git status

メッセージを付けてローカルリポジトリにcommitし,状態を表示させる.

$ git commit -m "message"
$ git status

3. リモートレポジトリ

gitのリモートレポジトリとしては,GitHubやBitbucketやGitLab等が使用できる.ここではGitHubを例にとって説明する.

3.1 アカウントの登録とリモートレポジトリの作成

GitHubのサイトからアカウントを登録し,リモートレポジトリを作成する.例えばユーザ名が「user_name」,リモートレポジトリ名が「hoge」だとする.

3.2 リモートレポジトリの設定

ローカルレポジトリを作成したディレクトリに移動し,リモートレポジトリを設定する.

$ git remote add origin https://github.com/user_name/hoge.git

3.3 push

ローカルレポジトリの内容をリモートレポジトリにpushする.

$ git push -u origin master

アカウントとパスワードを入力し,GitHubのリモートリポジトリのファイルが更新されているか確認する.

4. SSHでの接続

httpsで接続する方法では,pushするたびにアカウントとパスワードを入力する必要がある.SSHで接続することにより入力を省略することができる.

4.1 SSH鍵の生成

ホームディレクトリに「.ssh」ディレクトリがなければ作り,移動する.

$ mkdir ~/.ssh
$ cd ~/.ssh

コメントとしてメールアドレスを指定して,RSA鍵を作る.

$ ssh-keygen -t rsa -f hoge_rsa -C 'mail_address'

パスフレーズの入力を要求されるが,何も入力しない.「~/.ssh」ディレクトリに「hoge_rsa」という名前の秘密鍵と「hoge_rsa.pub」という名前の公開鍵のファイルができる.

4.2 公開鍵の登録

以下のサイトにアクセスし,「New SSH key」をクリックする.https://github.com/settings/keys
「Title」にわかりやすい名前を,「Key」に「hoge_rsa.pub」の内容を入力し,「Add SSH key」をクリックする.

4.3 SSH接続の設定

「~/.ssh」ディレクトリに「config」という名前のファイルを作成し,以下の内容を入力する.

Host user_name.github.com
    User git
    Port 22
    HostName github.com
    IdentityFile ~/.ssh/hoge_rsa
    TCPKeepAlive yes 
    IdentitiesOnly yes

SSH接続できるか確認する.

$ ssh -T user_name.github.com

最初の接続時に「RSA key fingerprint」が表示され,接続するかを問われる.
以下のサイトのfingerprintと同一かどうかを確認して「yes」を入力する.https://help.github.com/articles/github-s-ssh-key-fingerprints/

 4.4 リモートレポジトリの設定変更

リモートレポジトリへの接続方法を変更する.

$ git remote set-url origin git@github.com:user_name/hoge.git

アカウントとパスワードを入力せずにpushできるか確認する.

カテゴリー git