SEワンタンの独学備忘録

IT関連の独学した内容や資格試験に対する取り組みの備忘録

【Git】(初心者向け)Windows上にLinuxのGit検証環境を構築する

ご無沙汰でしたがGitします。今回はいろいろ試すというより試すための環境を構築します。
Git概要についてはいちおう以下の記事があります。

www.wantanblog.com


今回構築する環境

ホストにWindows10
サーバにCentOS7@Virtualbox



自宅環境で専用サーバとか用意できないので、今回はWindowsマシン上のみで完結させます。

理想的にはというか以下のような利用シーンを想定しています。

f:id:wantanBlog:20190819173411p:plain


今回実際に構築する環境のイメージはこちらです。

f:id:wantanBlog:20190819173502p:plain

Virtualbox上に構築したLinux仮想環境にGitを導入してリポジトリを作成。
ホストのWindowsにもGitを導入してリポジトリを作成して、仮想マシンとホスト間でやりとりを行えるようにします。


VirtualboxのLinux環境は以下で構築したものです。

www.wantanblog.com

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

ネット環境に依存すると思いますが結構時間がかかりました。

ここまで表示されれば完了です。

f:id:wantanBlog:20190819175247p:plain


インストールしたい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


ここまで表示されれば完了ですかね。
f:id:wantanBlog:20190819181223p:plain


インストールの確認

インストールできたことを確認するためにバージョン確認を行います。

バージョン確認

git --version

想定したバージョンが表示されれば完了です。

f:id:wantanBlog:20190819181408p:plain

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です。

f:id:wantanBlog:20190819183738p:plain


Windows環境構築

Windows側のクライアントなどはいくつも方法やツールがあると思いますが今回はせっかくわかば本を購入したこともあるので、書籍内でも紹介されていたSourceTreeを使おうと思います。

SourceTreeのダウンロード

以下からダウンロードします。

Sourcetree - 無料の Git & Mercurial クライアント | Atlassian

Download Free からexeファイルをダウンロードしました。

f:id:wantanBlog:20190819221535p:plain

SourceTreeのインストール

任意の場所に保存した「SourceTreeSetup-x.x.x.exe」を実行します。
※私の場合は「SourceTreeSetup-3.1.2.exe」でした。

起動すると以下の画面が表示されました。

f:id:wantanBlog:20190819222328p:plain


Bitbucketの方を選択するとログインを求められるweb画面が表示されました。
私はgoogleアカウントでのログインを行いました。

f:id:wantanBlog:20190819222602p:plain


メールアドレスが自動で表示され、名前も表示されると思います。
名前はgoogleアカウントの名前が表示されますが、変更可能でした。

f:id:wantanBlog:20190819222831p:plain

アカウント登録に必要な情報をサクサク入力していってください。

入力が終わると、ダッシュボードのような画面にたどり着くかと思います。

f:id:wantanBlog:20190819223824p:plain

ここまでいってもSourceTreeの認証が終わらないようなら一度戻って、再度Bitbucketを押下したら認証に成功しました。

f:id:wantanBlog:20190819224259p:plain

インストールの選択は詳細もあるみたいですが、デフォルトのままで。

f:id:wantanBlog:20190819224358p:plain

インストール作業が完了したら次へ。
Bitbucketのリポジトリを使いたいわけではないのでチェックは外しておきました。

f:id:wantanBlog:20190819224837p:plain


SSHキーの設定は一旦「いいえ」で進めました。

f:id:wantanBlog:20190819225001p:plain


これで一旦、インストールが完了です。

f:id:wantanBlog:20190819225144p:plain

SourceTreeでリモートリポジトリからローカルリポジトリへクローンする

ここからが本番です。すんなりいく気がしない。
VirtualboxのLinuxサーバに作成したリモートリポジトリをSourceTreeで参照し、ローカルリポジトリを作成し、クローンします。

中身空っぽでもできるんだろうか?

LinuxサーバのIPアドレスを確認する

リモートリポジトリの場所を指定するのに必要なサーバのIPアドレスを確認します。

Linuxサーバにログインして以下のコマンドを打ちます。

ifconfig

申し訳なく、何が何か説明はできないのですが、今回必要な部分は「enp0s8」に表示されているアドレスです。

f:id:wantanBlog:20190819232122p:plain

SourceTreeでLinuxサーバ上リモートリポジトリからにホストのローカルリポジトリにクローンする

ここは若干謎が多い部分なのですが、いろいろ試してたらうまく認識してくれるようになった感じもあります。

f:id:wantanBlog:20190820233239p:plain


一番上にリモートリポジトリのパスを指定します。
私の場合は以下の形式でうまく認識してくれました。(最初プロトコルをhttpで試そうとしてたけどうまくいかなかった

ssh://[LinuxサーバのIPアドレス]/[Linuxサーバ上のリモートリポジトリのパス]

私の実例は以下の通り。

ssh://192.168.56.102/home/wantan/work/gitrepo.git

一番上の欄にこれを入力しフォーカスアウトするとLinuxアカウントのアカウント名とパスワードを求められるので入力します。

その結果リポジトリタイプGitが表示されれば問題ないはずです。


次の欄にはホストマシン上のローカルリポジトリとしたい任意のパスを入力します。

クローン実行・・・・

きましたー!!!

f:id:wantanBlog:20190820233833p:plain

動作確認を行う

適当なファイルを配置してコミットしてみます。

ローカルリポジトリにファイルを配置

ローカルリポジトリ(C:\tmp\localrepo)にindex.htmlというファイルを配置してみました。

f:id:wantanBlog:20190820234335p:plain


SourceTreeでコミットする

すぐにSourceTree上でファイルが認識されました。

f:id:wantanBlog:20190820234547p:plain

全てインデックスに追加を押下し、コミットの準備を、
下部のコメント欄に適当な入力を行い右下のコミットを押下。
コミットに成功したようです。

f:id:wantanBlog:20190821000703p:plain

リモートリポジトリにプッシュ

さらにここからローカルリポジトリの変更をリモートリポジトリにプッシュしたいと思います。

プッシュアイコンを押下し、表示されたmasterブランチを選択しプッシュ!!

f:id:wantanBlog:20190821000618p:plain


やったー!成功したよわかばちゃん!

f:id:wantanBlog:20190821000632p:plain

プッシュされていることを確認

一応最後に、ほんとにリモートリポジトリにプッシュされているの?
ということで、Linuxサーバ上のリポジトリを一応確認しておきました。

正当な確認方法は知らないのでなんてことはない雑な確認です。
リモートリポジトリのディレクトリで以下を実行。

ls -l

すると「objects」ディレクトリのみ更新日時が変更されているのでその中でさらに上記のコマンド。

プッシュした時刻の更新日時のディレクトリが生成されていることが確認できました。



これで遊べる環境は構築できましたねー。
具体的な操作とかはわかば本とかを是非!私も操作はそちらで勉強してそれ以外のことをやるときにまたブログに残そうかと思います。