お出かけ先から簡単家電操作【準備編：GitLab環境導入】

初投稿なので、、、色々読みにくさ等あると思いますが、、、参考になれば幸いです。


#環境
サーバー環境　　：GitLab Enterprise Edition 14.8.0
ローカル環境　　：Git Bash(Git for Windows 2.17.1)
ローカル環境　OS：Windows10

# Gitとは
バージョン管理ツールです！
開発の際の変更を細かく記録して、気軽に前の作業状態に戻ったり、色んな変更した上で必要な変更だけを記録したりできます。kwskは検索へ

今回の家電操作には必須ではありませんが、、、便利なので入れています。
ざっくり必要なところだけ触れると、Gitのお勧め選択しとしてGitHubとGitLabが有名、
今回に関してはどちらでも機能的には問題ないです。
本記事ではGitLabの導入について話しています。

# GitLabへ登録
まずは[GitLabへアクセス](https://gitlab.com/users/sign_in)して、アカウントを登録します。

#Git for Windowsのインストール
Git for WindowsはGitHub、GitLabどちらを使う際でも、ローカル環境（My PC）で必要となるソフトウェアです。
[Git for Windowsのページ](https://gitforwindows.org/)からインストールします。

インストールの際の設定は基本デフォルトですが、
**Adjusting your PATH environment**という項目だけ**Use Git From Git Bash only**にしておくと、今回の場合は不具合に繋がりにくいと思います。
（この辺りは、まとめてくれている方が沢山いますので、一旦検索してみるのをおすすめします。）

++++++++++++++++++++++++++++++++++++

* Use Git from Git Bash only：
　Git Bashのみ使う人

* Use Git from the Windows Command Prompt：
　PowerShellとかのツールから Git を使う場合。

* Use Git and optional Unix tools from the Windows Command Prompt：
　Unix系のツールを使う上級者の人

+++++++++++++++++++++++++++++++

インストールが完了すると、Git BushというアイコンがWindowsのプログラムに追加されるので、以降はこのアイコンからGitのターミナルを起動して、環境設定をしていきます。

#GitLabへSSHでアクセスするための設定について
先ほどインストールしたGit Bushターミナルを使って諸々の設定を行い、ローカル環境(My PC) と GitLab のサーバとを、SSH接続でやり取りを出来るようにします。

SSHは暗号化通信プロトコルの事で、凄いざっくり言うと、、、セキュリティ対策した安全な方法で、ローカル環境とGitLabサーバー繋ぐ設定をします。

流れとしては、公開鍵・秘密鍵をローカル環境で作成し、
その後公開鍵の方をGitLab上に登録します。
秘密鍵は絶対に外に出してはいけません！

公開鍵・秘密鍵の概念については検索でお願いします…( ;∀;)

#公開鍵・秘密鍵の作成
**①先ずは鍵を作成する場所を作ります。Git Bushを起動し .ssh ディレクトリを作成します。**

```
$cd ~\
$mkdir .ssh
$cd .ssh
```

**②次のコマンドで鍵の作成を行います。**
-t : 鍵の種類を設定するオプションです。今回は一般的なrsa
-C : コメントのオプションです。メールアドレスを設定するのが一般的のようです

```
$ssh-keygen -t rsa -C "登録メールアドレス"
```
**③コマンドの実行に応じてパスフレーズなどを入力**
※すでにディフォルトのid_rsaの名前で鍵を作っている場合は上書きされます。
　名前を変えたい場合は、下記の”Enter file in which to save the key ”の際に、任意の名前を入れてからEnterを押します。

```
Generating public/private rsa key pair.
Enter file in which to save the key (場所とキーの名前の確認):　Enter押す

Created directory '/c/Users/○○○/.ssh'.
Enter passphrase (empty for no passphrase):　好きなパスフレーズ
Enter same passphrase again:　もう一回同じパスフレーズ

```

すると先ほど移動したディレクトリに鍵のセットが保存されます。
ディフォルトだと**id_rsa = 秘密鍵**と、**id_rsa.pub = 公開鍵**になります。

#公開鍵をGitLabにアップロード
SSHでやり取りするために、先ほどローカル環境で作成し**id_rsa.pub**をGitLub上に登録します。

まずは[GitLabのサイト](https://gitlab.com/)にアクセスし、登録を済ませて**Edit profile**を開きます。
その中にある**SSH Keys**に公開鍵を登録する項目があります。
下記画像の**Key**と書いてある窓が、作成した公開鍵を張り付ける場所になっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2510530/54473364-a9c0-b4e7-841b-f22db4e4d2ef.png)

鍵のコピーはGit Bush上で、下記のコマンドを入力すればクリップボードにコピーされますので、
あとは張り付けて**Add Key**を押せば登録完了です。

```
$ clip < ~/.ssh/id_rsa.pub
```

#GitLabへの接続確認
下記のコマンドをGitBush上で打てば、GitLabへのSSHでの接続確認ができます。

```
$ ssh -T git@gitlab.com
```
うまくいけば下記のメッセージが返ってきます。

```
Enter passphrase for key '/c/Users/.ssh/id_rsa':
Welcome to GitLab, @BraBraBra!
```
# GitLabでプロジェクトを作成
無事SSHで接続の確認ができたら、Gitlab上でプロジェクトを作っていきます。

Create ProjectからCreate blank projectを選択し。
名前などを設定してGitlabプロジェクトを作成します。
その際、最初から基本的なGitの操作が出来るよう、Initialize repository with a READMEのチェックを入れておきます。

#作業環境をGit管理
早速GitLab上に作成したプロジェクトをローカル環境にクローンしてみます。

**①ローカル作業場へ移動します**

```ruby
$mkdir brabrabra
$cd brabrabra
```
**②GitLabのプロジェクトページからプロジェクトのSSHキーをコピーします**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2510530/3fd6d654-5bbe-d382-6f90-ee50a83fb1aa.png)

**③ローカル環境にクローン**

```
$git clone さっきコピーしたSSHキー貼り付け
```

上手くいけば、作成した作業フォルダにReadmeやgitなどのフォルダが生成されていることを確認できます。

# まとめ
使い方はGitの公式や優秀なまとめサイトがあるので、ここでは作業イメージの参考になりそうな部分という事で、実際に手を動かしたところを載せてみました。

閲覧頂きありがとうございます。