KAGOYA CLOUD チュートリアル

第2回
KAGOYA CLOUD で Git を使ってみた

Gitとは、プログラムのソースコードなどの変更履歴を管理する「バージョン管理システム」です。
また、Gitは「分散型バージョン管理システム」という特徴があり、複数人のチームで共同開発を行う場合に各メンバーの変更履歴を共有管理できます。

Gitでは、プログラムのソースコードや変更履歴は「リポジトリ」と呼ばれるデータベースでバージョン管理を行います。
チームで共同開発する場合は、メンバー全員がアクセスできる場所に共有の「リモートリポジトリ」を用意し、
各メンバーは、ローカル環境(自分のPCなど)の「ローカルリポジトリ」で開発を行い、
変更内容を「リモートリポジトリ」にアップロード(push)したり、
最新の内容を「リモートリポジトリ」からダウンロード(pull)したりすることで、
共同で開発作業を進めることができます。

リモートリポジトリ

「リモートリポジトリ」を簡単に公開できるサービスとして「GitHub」などが有名ですが、KAGOYA CLOUD のサーバーに「リモートリポジトリ」を置くことも可能です。

サーバーに Git をインストール

このマニュアルではCentOS7 のサーバー環境を例に説明します。
まず、KAGOYA CLOUDのコントロールパネルにログインし、CentOS7でインスタンスを作成します。

yum で Git をインストールします。

# yum install git

Git の初期設定をします。

# git config --global user.name "kagoya "
# git config --global user.email kagoya@example.com

設定した内容を確認します。

# git config --list

サーバーにリモートリポジトリを作る

Git 用にユーザーを作成します。

# useradd git

リポジトリを置くディレクトリを作成します。

# mkdir -pv /opt/git

git ユーザーが書き込みできるようにします。

# chown git:git /opt/git

git ユーザーに切り替えます。

# su git

リポジトリを置くディレクトリに移動します。

$ cd /opt/git

共有リポジトリを作成します。

$ git init --bare newproject
Initialized empty Git repository in /opt/git/newproject/

ローカル環境(PC 側)に Git をインストール

このチュートリアルでは、Windows PC でGit for Windows を使用します。
下記のURLからダウンロードし、インストールしてください。

■ 参考URL Git for Windows:
https://git-for-windows.github.io/

インストールが完了したら、Git Bash(git-bash.exe)を起動します。

Wordpress CentOS 6 64bit

こGit の初期設定をします。

$ git config --global user.name "taro"
$ git config --global user.email "taro@example.com"

Wordpress CentOS 6 64bit

ローカル環境(PC 側)で公開鍵と秘密鍵を生成

Created directory '/c/Users/Git Bash(git-bash.exe)を使って、秘密鍵と公開鍵を生成します。

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/taro/.ssh/id_rsa): ←Enter
Created directory '/c/Users/taro/.ssh'.
Enter passphrase (empty for no passphrase): ←入力せずEnter
Enter same passphrase again: ←入力せずEnter
Your identification has been saved in /c/Users/taro/.ssh/id_rsa.
Your public key has been saved in /c/Users/taro/.ssh/id_rsa.pub.

(以下省略)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

生成された公開鍵の内容を表示します。

$ cat ~/.ssh/id_rsa.pub

インスタンス名

表示された公開鍵の内容(赤枠部分)をコピーします。

サーバーに公開鍵を設置

サーバーに root でログインし、git ユーザーに切り替えます。

# su git

ホームディレクトリに移動します。

$ cd

git ユーザーのホームディレクトリに .ssh ディレクトリを作成します。

$ mkdir ~/.ssh

パーミッションを変更します。

$ chmod 700 ~/.ssh

vi エディタで authorized_keys ファイルを作成します。

$ vi ~/.ssh/authorized_keys

インサートモードで先ほどコピーした公開鍵の内容を貼り付けます。

パーミッションを変更します。

$ chmod 600 ~/.ssh/authorized_keys

ローカルリポジトリを作成

Git Bash(git-bash.exe)を使って、リポジトリを作成するディレクトリを作成します。

$ mkdir ~/Desktop/newproject

作成したディレクトリに移動します。

$ cd ~/Desktop/newproject

リポジトリを作成します。

$ git init
Initialized empty Git repository in C:/Users/kagoya/Desktop/newproject/.git/

正引き設定

ローカルリポジトリからリモートリポジトリに push してみる

WordPress の設定画面

Git Bash(git-bash.exe)を使って、作成したローカルリポジトリにテストファイルを作成します。

$ touch sample.txt

ステージング領域へ反映します。

$ git add .

ローカルリポジトリへコミットします。

$ git commit -m "initial commit"
[master (root-commit) 707dad9] initial commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 sample.txt

リモートリポジトリを"origin"という名前で設定します。
※ここでは例としてサーバーのIPアドレスを203.0.113.11とします。

$ git remote add origin git@203.0.113.11:/opt/git/newproject

ローカルリポジトリの内容をリモートリポジトリへ反映します。

$ git push origin master
The authenticity of host '203.0.113.11 (203.0.113.11)' can't be established.
ECDSA key fingerprint is SHA256:2Eu1uHhYgdMqBOXyTOsmDTi50TkvMUzEOgvuwrOt8Js.
Are you sure you want to continue connecting (yes/no)? yes ←初回のみyesでEnter
Warning: Permanently added '203.0.113.11' (ECDSA) to the list of known hosts.
Counting objects: 3, done.
Writing objects: 100% (3/3), 225 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To 203.0.113.11:/opt/git/newproject
* [new branch]      master -> master

リモートリポジトリからローカルに clone してみる

ログイン

Gitを使用するとリモートリポジトリの内容を別のローカル環境(PC 側)に複製し、開発環境を共有できます。
※ここでは仮に同じPCの別ディレクトリに複製できるかテストします。

Git Bash(git-bash.exe)を使って、リポジトリを複製するディレクトリに移動します。

$ cd ~/Desktop

ここでは、newproject2というディレクトリにリモートリポジトリを複製します。

$ git clone git@203.0.113.11:/opt/git/newproject newproject2
Cloning into 'newproject2'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.

作成されたローカルリポジトリに移動します。

$ cd newproject2

リモートリポジトリを通してファイルが複製されているのが確認できます。

$ ls
sample.txt

PAGE TOP

お客様サポート