- GitLabって何?っていう人
- GitLabのソースコードをローカルにクローンする方法がわからない…という人
実務でアサインしたプロジェクトのソースコード管理がGit/GitLabで、GitLabは初めて触った(これまではGitHub)のでその時の作業手順をまとめておきます。
ついでにGitHubとGitLabの違いも簡単に説明します。
というわけで、この記事ではGitLabのリポジトリをローカルにクローンする手順を解説していきます!
GitLab、バージョン管理についてご存知の方はGitLabのリポジトリをローカルにクローンする手順に飛んでください。
Gitの学習にオススメな教材はこちらなのでぜひチェックしてみてください↓
GitLabって何?
リソースのバージョン管理ツールです
GitLab(ギットラボ)はリソースのバージョン管理ツールです。

プログラミング関連でいうとソースコードのバージョン管理ツールという意味合いが馴染みがあるのではないかと思います。
(ソースコード以外にもテキストファイルや画像ファイル等も管理対象なので初めにはリソースという言い方をしています)
(心の声『というか、ギットラブじゃないんかい!!ラボなんかい!!』)
バージョン管理って何?
先ほど、リソースのバージョン管理だのソースコードのバージョン管理だの書いてますが、バージョン管理とは何でしょうか。
僕なりにとても噛み砕いて表現すると『いつ、誰が、どんな修正をして、どんな状態だったかを記録できる』です。
アプリケーション開発ではスタート地点ではフレームワークがデフォルトで準備してくれているソースコードです。
その状態から誰がどんな修正をしているか、最新はどんなコードなのかを管理することです。
言うなれば資料の改訂版とかによく使われるR1(リビジョン1)みたいなものです。
GitHubとの違い
GitHub、GitLabはどちらも同じリソースのバージョン管理ツールです。
GitLabの公式サイトにGitHubの比較図がありましたが、全てにおいてGitLabが優れているよ!と言わんばかりの図でした(笑)

これまで大きな違いだったGitHubはプライベートリポジトリを無料で作れないけどGitLabは作れる点はこちら(GitHubがほぼ全面的に無料化)にもある通り2020年4月4日にGitHubが無料でプライベートリポジトリを作成できるようになり違いがなくなりました。
参考:GitとGitHub、GitLab|概要・それぞれの違いについて解説!
GitLabのリポジトリをローカルにクローンする手順
前置きがちょっと長くなりましたが、GitLabのリポジトリをローカルにクローンする手順を解説していきます!
GitLabのリポジトリをクローンするためにはSSH接続する必要があるのでgit clone 〜
コマンドを実行するまでやることがあります。
前提
以下の状態を前提にしています。
- Gitをインストールしている
- GitLabのアカウントを作成している
公開鍵と秘密鍵を作成
まずは~/.ssh
ディレクトリに移動します。
$ cd ~/.ssh
~/.ssh
ディレクトリがない場合は作成して移動してください。
$ mkdir ~/.ssh
$ cd ~/.ssh
以下コマンドで公開鍵・秘密鍵を作成します。
ssh-keygen -t rsa -C "GitLabに登録しているメールアドレス"
それぞれのオプションの意味はこちらです。
-t
:作成する公開鍵と秘密鍵の形式を指定できる(dsa、ecdsa、ed25519、rsaの中から選びます)-C
:コメントを設定できる
このコマンドを実行するといくつか質問をされますが全てEnterを押せばOKです。
(パスフレーズの入力を求められるので設定した方がセキュリティ面で良いかもしれませんが僕はスルーしました)
~/.ssh
ディレクトリの中にid_rsa
(秘密鍵)とid_rsa_pub
(公開鍵)ができます。
(public(公開されている的な意味)の省略形pub
がついている方が公開鍵と覚えたら覚えやすいです)
公開鍵と秘密鍵の権限を変更する
以下コマンドで公開鍵と秘密鍵の権限を変更します。
$ chmod 600 id_rsa id_rsa_pub
権限番号600は所有者が読み出し可、書き込み可の権限を意味します。
GitLabに公開鍵を追加
次はGitLabに先ほど作成した公開鍵(id_rsa_pub
)を設定します。
まずはターミナルで以下のコマンドを実行します。
$ cat ~/.ssh/id_rsa_pub
以下のようなランダムな文字がたくさん出てくるので全てコピーします。
ssh-rsa {ランダムな文字} {-Cオプションで指定したメールアドレス}
GitLabのページの右上に自分のアイコンが表示されていると思いますので、そこからSettingsをクリックして設定画面に遷移します。

画像の通りですが、以下の手順で作業を行えばSSH接続に必要な公開鍵の設定は完了です。
- SSH Keysタブを選択
- Keyの入力欄に先ほどコピーした公開鍵(id_rsa_pub)の中身を貼り付ける
- Add Keyボタンがアクティブになるのでクリックする
無事に設定できたら、画像の黒塗りしている部分に公開鍵情報が追加されます。
ローカルでSSH接続の設定
ローカルの~/.ssh
ディレクトリにconfig
という名前のファイルを作成し、以下のコードを書きます。
Host gitlab
HostName gitlab
User {GitLabのユーザー名}
identityFile ~/.ssh/id_rsa
リポジトリをローカルにクローン
というわけでいよいよGit操作を行います。
GitLabリポジトリのトップページ(Overview > Detailsタブ)の上部でプルダウンからSSHを選択(HTTPSも選べます)して、コピーボタンをクリックしてリポジトリURLをコピーします。

ターミナルに戻って以下コマンドを実行するとリポジトリの名前のディレクトリが作成され、その中にソースコード類がクローンされます。
$ git clone {コピーしたGitLabリポジトリのURL}
補足ですが、クローンするときのコマンド例をいくつかご紹介します。
ブランチを指定してクローン
$ git clone -b {ブランチ名} {コピーしたGitLabリポジトリのURL}
リポジトリ名のディレクトリを作成せずカレントディレクトリにクローン
$ git clone {コピーしたGitLabリポジトリのURL} .
これでローカルにクローンできます!
最後に
GitLabのリポジトリをローカルにクローンする手順の解説は以上です。
僕はこれまで、業務ではBacklogのGitリポジトリ、プライベートではGitHubを使っていてGitLabは初めてだったので少し手こずりましたが無事にローカルにクローンすることができました。
Gitの学習にオススメの教材はこちら↓
コメント