2021/12/11
Gitのホスティングサーバは GitHub や Bitbucket が有名です。
ただ、最近、個人的に注目しているのが「GitLab(ギットラボ)」というGit ホスティングサービス。
今回は GitLab の使い方についてエントリーします。
手順
アカウントの作成
まず、GitLab の登録ページにアクセスします。
SNS のアカウントをお持ちの方は GitLab のアカウントに紐づけると何も入力せずにアカウントを作成できます。
アカウント連携の場合、GitLabの規約に従うかどうかの確認画面が表示されます。
「Accept terms」を押すと登録完了となります。
プロジェクトの作成
HOME画面から 「Create a project」 -> 「Create Blank project」
プロジェクト名を入れて「リポジトリを初期化しREADMEファイルを生成する」にチェックを入れてから「プロジェクトを作成」
これでプロジェクトは完成です。
ただ、Google アカウントなどで登録すると、 GitLab のパスワードが設定されておらずパスワードの設定を促す警告画面が表示されます。
クローンするにはパスワードを設定する必要があります。
GitLab の設定項目から個別にパスワードを設定してください。
GitLab SSH接続設定
ここからローカル PC と GitLab のサーバと SSH 接続できるようにキーペア(公開鍵・秘密鍵)の設定をします。
ローカル側のユーザのホームディレクトリに .ssh ディレクトリを作成してそこにキーペアを作成します。
キーペアは以下のようにLinux コマンドを使って作成します。
(※Windows ユーザーは Git Bash を使って)
キーペアの作成
#----------------------------------
# ホームに.sshディレクトリ作成
# そこにキーペアを作成します
#----------------------------------
# .sshのディレクトリ作成
$ mkdir .ssh
# 移動
$ cd .ssh
#----------------------------------
# 鍵の作成
#----------------------------------
#-tオプション 鍵タイプ
#-bオプション 鍵長(ビット)
# -Cオプション コメント(メアドが通例)
#-fオプション 鍵の名前
#-Cオプションを入れない場合認証エラーになることも
#GitLabで作成したアカウントのメールアドレスを入力
$ ssh-keygen -t rsa -b 4096 -C "user@gmail.com" -f gitlab_rsakey
入力後はパスフレーズを設定します。
パスフレーズを設定すると秘密鍵も暗号化されます。
ただ、fetch などリモートリポジトリにアクセスする度にパスフレーズを求められます。
面倒で未指定にしたい場合はそのまま Enter を推します。(※Enter2回)
以下のようにキーペアが作成されます。
GitLabに鍵を登録
作成した公開鍵の内容をコピーしてGitLab の画面に貼り付けます。
ローカルの GitBash から以下のコマンドでコピーします。
# 作成した公開鍵をコピー
$ clip < ~/.ssh/gitlab_rsakey.pub
Windows 専用コマンドで「gitlab_rsakey.pub」の内容をクリップボードに入れるコマンドです。
GitLab の [ 設定 ] -> [ SSH鍵 ] を選択し、key欄へ先ほどコピーした公開鍵をペーストします。
タイトルには分かりやすい任意の名称を入力します。
ssh-agentに秘密鍵を登録
自分の場合、ssh-agentに秘密鍵を登録しないとSSH接続ができませんでした。
ネットで調べてみると、この作業をしなくてもSSH接続できるっぽいです。
(※自分はWindowsユーザなのですが、もしかしたらそれが原因かも?)
#ssh-agentの秘密鍵の登録状態を確認
$ ssh-add -l
#ssh-agentが起動してない状態は以下のメッセージ
Could not open a connection to your authentication agent.
#ssh-agentを起動
$ eval `ssh-agent`
#ssh-agentの秘密鍵の登録状態を確認
$ ssh-add -l
#秘密鍵が登録されてない状態
The agent has no identities.
#ssh-agentに秘密鍵を登録
$ ssh-add ~/.ssh/gitlab_rsakey
configの設定
.sshディレクトリに configファイルを作成します。
$ vim ~/.ssh/config
以下のように設定します。
Host gitlab
HostName gitlab.com
IdentityFile ~/.ssh/gitlab_rsakey
User git
SSH接続テスト
Git BashでSSHコマンド実行
$ ssh -T git@gitlab
以下のように「Welcome to GitLab」と出れば、無事接続成功です。
git clone を実行
今度は git clone を実行して、先ほど作成したプロジェクトをダウンロードしてみます。
# ホーム画面に戻って
$ cd ..
# git clone
$ git clone git@gitlab.com:アカウント/プロジェクト
以上です。
Udemyを使ったLaravel学習方法
仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら。