ご無沙汰でしたがGitします。今回はいろいろ試すというより試すための環境を構築します。
Git概要についてはいちおう以下の記事があります。
今回構築する環境
ホストにWindows10
サーバにCentOS7@Virtualbox
自宅環境で専用サーバとか用意できないので、今回はWindowsマシン上のみで完結させます。
理想的にはというか以下のような利用シーンを想定しています。
今回実際に構築する環境のイメージはこちらです。
Virtualbox上に構築したLinux仮想環境にGitを導入してリポジトリを作成。
ホストのWindowsにもGitを導入してリポジトリを作成して、仮想マシンとホスト間でやりとりを行えるようにします。
VirtualboxのLinux環境は以下で構築したものです。
Linux仮想マシン側の構築
Gitのインストール
単にインストールだけなら以下で可能みたいですが、今回は最新版を入れてみたいので試してみます。
yum install git
インストールについては以下を参考にしました。というかほぼそのままです。
CentOS7 に最新版の Git をインストールする方法 - Qiita
依存関係のあるライブラリをダウンロード
sudo yum -y install gcc curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker autoconf
ネット環境に依存すると思いますが結構時間がかかりました。
ここまで表示されれば完了です。
インストールしたいGitバージョンを確認する
以下のリンクからインストールしたいGitバージョンをURLを取得します。
Index of /pub/software/scm/git/
Gitパッケージをダウンロード
インストールを行うディレクトリへ移動
cd /usr/local/src/
先ほどコピーしたリンク先からダウンロード
sudo wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
ファイルを解凍
sudo tar xzvf git-2.9.5.tar.gz
解凍が完了したら圧縮ファイルを削除
sudo rm -rf git-2.9.5.tar.gz
Gitのインストール
解凍した Git ディレクトリに移動
cd git-2.9.5/
make コマンドでインストール
sudo make prefix=/usr/local all sudo make prefix=/usr/local install
ここまで表示されれば完了ですかね。
インストールの確認
インストールできたことを確認するためにバージョン確認を行います。
バージョン確認
git --version
想定したバージョンが表示されれば完了です。
Gitの初期設定
Gitを扱うためにGitユーザが必要になるみたいなのでここで作成しておきます。
私の場合は「xxxx=wantang」です。
ユーザの作成
git config --global user.name "xxxx"
メールアドレスの登録
git config --global user.email "xxxx@example.com"
Linux環境にリポジトリを作成
VirtualboxのLinux環境上のGitリポジトリを作成します。
ここをリモートリポジトリと想定します。
リポジトリ用ディレクトリの作成
任意の場所、ディレクトリ名で作成する
mkdir /home/wantan/work/gitrepo.git
作成したディレクトリに移動する
cd /home/wantan/work/gitrepo.git
共有リポジトリの作成
git init --bare --shared
sharedオプションを付与することで共有用のリポジトリになるみたいです。
またディレクトリを指定しないとカレントディレクトリが対象になります。
作成後、ファイルが作成されていることが確認できればOKです。
Windows環境構築
Windows側のクライアントなどはいくつも方法やツールがあると思いますが今回はせっかくわかば本を購入したこともあるので、書籍内でも紹介されていたSourceTreeを使おうと思います。
SourceTreeのダウンロード
以下からダウンロードします。
Sourcetree - 無料の Git & Mercurial クライアント | Atlassian
Download Free からexeファイルをダウンロードしました。
SourceTreeのインストール
任意の場所に保存した「SourceTreeSetup-x.x.x.exe」を実行します。
※私の場合は「SourceTreeSetup-3.1.2.exe」でした。
起動すると以下の画面が表示されました。
Bitbucketの方を選択するとログインを求められるweb画面が表示されました。
私はgoogleアカウントでのログインを行いました。
メールアドレスが自動で表示され、名前も表示されると思います。
名前はgoogleアカウントの名前が表示されますが、変更可能でした。
アカウント登録に必要な情報をサクサク入力していってください。
入力が終わると、ダッシュボードのような画面にたどり着くかと思います。
ここまでいってもSourceTreeの認証が終わらないようなら一度戻って、再度Bitbucketを押下したら認証に成功しました。
インストールの選択は詳細もあるみたいですが、デフォルトのままで。
インストール作業が完了したら次へ。
Bitbucketのリポジトリを使いたいわけではないのでチェックは外しておきました。
SSHキーの設定は一旦「いいえ」で進めました。
これで一旦、インストールが完了です。
SourceTreeでリモートリポジトリからローカルリポジトリへクローンする
ここからが本番です。すんなりいく気がしない。
VirtualboxのLinuxサーバに作成したリモートリポジトリをSourceTreeで参照し、ローカルリポジトリを作成し、クローンします。
中身空っぽでもできるんだろうか?
LinuxサーバのIPアドレスを確認する
リモートリポジトリの場所を指定するのに必要なサーバのIPアドレスを確認します。
Linuxサーバにログインして以下のコマンドを打ちます。
ifconfig
申し訳なく、何が何か説明はできないのですが、今回必要な部分は「enp0s8」に表示されているアドレスです。
SourceTreeでLinuxサーバ上リモートリポジトリからにホストのローカルリポジトリにクローンする
ここは若干謎が多い部分なのですが、いろいろ試してたらうまく認識してくれるようになった感じもあります。
一番上にリモートリポジトリのパスを指定します。
私の場合は以下の形式でうまく認識してくれました。(最初プロトコルをhttpで試そうとしてたけどうまくいかなかった
ssh://[LinuxサーバのIPアドレス]/[Linuxサーバ上のリモートリポジトリのパス]
私の実例は以下の通り。
ssh://192.168.56.102/home/wantan/work/gitrepo.git
一番上の欄にこれを入力しフォーカスアウトするとLinuxアカウントのアカウント名とパスワードを求められるので入力します。
その結果リポジトリタイプGitが表示されれば問題ないはずです。
次の欄にはホストマシン上のローカルリポジトリとしたい任意のパスを入力します。
クローン実行・・・・
きましたー!!!
動作確認を行う
適当なファイルを配置してコミットしてみます。
ローカルリポジトリにファイルを配置
ローカルリポジトリ(C:\tmp\localrepo)にindex.htmlというファイルを配置してみました。
SourceTreeでコミットする
すぐにSourceTree上でファイルが認識されました。
全てインデックスに追加を押下し、コミットの準備を、
下部のコメント欄に適当な入力を行い右下のコミットを押下。
コミットに成功したようです。
リモートリポジトリにプッシュ
さらにここからローカルリポジトリの変更をリモートリポジトリにプッシュしたいと思います。
プッシュアイコンを押下し、表示されたmasterブランチを選択しプッシュ!!
やったー!成功したよわかばちゃん!
プッシュされていることを確認
一応最後に、ほんとにリモートリポジトリにプッシュされているの?
ということで、Linuxサーバ上のリポジトリを一応確認しておきました。
正当な確認方法は知らないのでなんてことはない雑な確認です。
リモートリポジトリのディレクトリで以下を実行。
ls -l
すると「objects」ディレクトリのみ更新日時が変更されているのでその中でさらに上記のコマンド。
プッシュした時刻の更新日時のディレクトリが生成されていることが確認できました。
これで遊べる環境は構築できましたねー。
具体的な操作とかはわかば本とかを是非!私も操作はそちらで勉強してそれ以外のことをやるときにまたブログに残そうかと思います。