GitLabのリポジトリをローカルにクローンする手順を解説

ゆーたろー

こんにちは、ゆーたろーです。

HRTechベンチャーのエンジニアです。
TypeScript/Vue.js(Nuxt.js)/React/Next.js/PHP/LaravelでWebアプリケーションの開発を行っています。

・プログラミングスクールメンター
・神戸で勉強会「つながる勉強会」を運営
・神戸メインのグルメインスタ運営

など色々やっています。1児のパパです。

・GitLabって何?
・ソースコードをローカルにクローンする方法がわからない…

と疑問をお持ちの方のお悩みを解決できる記事になっています!

実務でアサインしたプロジェクトのソースコード管理がGit/GitLabで、GitLabは初めて触った(これまではGitHub)のでその時の作業手順をまとめておきます。

ついでにGitHubとGitLabの違いも簡単に説明します。

というわけで、この記事ではGitLabのリポジトリをローカルにクローンする手順を解説していきます!

GitLab、バージョン管理についてご存知の方はGitLabのリポジトリをローカルにクローンする手順に飛んでください。

目次

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接続に必要な公開鍵の設定は完了です。

  1. SSH Keysタブを選択
  2. Keyの入力欄に先ほどコピーした公開鍵(id_rsa_pub)の中身を貼り付ける
  3. Add Keyボタンがアクティブになるのでクリックする

無事に設定できたら、画像の黒塗りしている部分に公開鍵情報が追加されます。

ローカルでSSH接続の設定

ローカルの~/.sshディレクトリにconfigという名前のファイルを作成し、以下のコードを書きます。

Host gitlab
		HostName gitlab
		User {GitLabのユーザー名}
    identityFile ~/.ssh/id_rsa

リポジトリをローカルにクローン

というわけでいよいよGit操作を行います。

GitLabリポジトリのトップページ(Overview > Detailsタブ)の上部でプルダウンからSSHを選択(HTTPSも選べます)して、コピーボタンをクリックしてリポジトリURLをコピーします。

GitLabリポジトリのトップページ

ターミナルに戻って以下コマンドを実行するとリポジトリの名前のディレクトリが作成され、その中にソースコード類がクローンされます。

$ git clone {コピーしたGitLabリポジトリのURL}

補足ですが、クローンするときのコマンド例をいくつかご紹介します。

ブランチを指定してクローン
$ git clone -b {ブランチ名} {コピーしたGitLabリポジトリのURL}

リポジトリ名のディレクトリを作成せずカレントディレクトリにクローン
$ git clone {コピーしたGitLabリポジトリのURL} .

これでローカルにクローンできます!

最後に

GitLabのリポジトリをローカルにクローンする手順の解説は以上です。

僕はこれまで、業務ではBacklogのGitリポジトリ、プライベートではGitHubを使っていてGitLabは初めてだったので少し手こずりましたが無事にローカルにクローンすることができました。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!

この記事を書いた人

上場グループのHRTechベンチャーで働くWebエンジニアです。
新卒で入社した大手重工メーカを4年で退職し、2020年4月からエンジニアとキャリアチェンジしました。

仕事ではTypeScript/Vue.js(Nuxt.js)/Laravelを主に使っています。

プログラミングスクールの講師やデザイン関連のお仕事もさせてもらっています。

神戸で「つながる勉強会」という勉強会を月1で運営しています。
https://tsunagaru-kobe.connpass.com/

お仕事のご依頼、ご相談はお問い合わせページもしくはTwitterのDMからお願いします。

コメント

コメントする

目次
閉じる