gitcloneの使い方:遠隔Gitリポジトリクローン

こんにちは大阪ERP事業部のキムです。  

もう7月ですね。  

最近時間がすごく早いなって思ってます。  

今回は前回に紹介したGitシリーズの リポジトリからクローンする方法について 

紹介します。 

Gitは分散型バージョン管理ツールで、Linuxカーネルソースコードを管理するためにLinus Torvaldsが開発しました。

Gitでソースコードを管理し開発するには、まずリポジトリを初期化するか、リモートリポジトリをクローン化する必要があります。

リポジトリを初期化する方法は、下記で紹介します。

• 関連文: GitHubで新しいリポジトリ生成する方法

既に初期化された遠隔のリポジトリをクローンして開発する場合、クローン作業をGitではクローン(clone)と呼び、git cloneサブコマンドとして実装されています。

今回はgit cloneコマンドの使い方について詳しく紹介します。

gitcloneコマンドの基礎とGitHubリポジトリの複製

一人で開発する場合はローカルでGitリポジトリを初期化して使用すればいいのですが、協業する場合やインターネットにソースコードを公開する場合はGitHubにリポジトリを作り、このリポジトリをクローンして作業する方式を主に使用します。 GitHubアカウントがある場合、以下のページでリポジトリを作成することができます。

•  Create a New Repository

適切な名前を付けてリポジトリを作成します。

今回は、README.mdファイルと.gitignoreを自動生成するオプションにチェックしました。

README.mdファイルと.gitignoreファイルがあるリポジトリが作られました。

git-cloneリポジトリ

クローンをするにはGitリポジトリのアドレスを知らなければなりません。 画面でCodeボタンをクリックすると、Gitリポジトリアドレスが表示されます。

HTTPS形式のリポジトリアドレス

SSH形式のリポジトリアドレス

 Gitリポジトリのアドレスは、HTTPSとSSH方式で提供され、次のような形式に従います。

(メニューでわかりますが、ZIP圧縮ファイルとしてダウンロードすることもできます)

HTTPSとSSH形式のGitHubリポジトリアドレスは以下のとおりです。

# HTTPS形式

https://github.com/[USERNAME]/[REPOSITORY_NAME].git

# SSH形式

git@github.com:[USERNAME]/[REPOSITORY_NAME].git

[USERNAME]はGitHubユーザー名で、[REPOSITORY_NAME]はリポジトリを生成する時に指定したリポジトリ名になります。

したがって、ユーザー名/git-cloneのリポジトリアドレスは以下のとおりです。

# HTTPS形式

https://github.com/ユーザー名/git-clone.git

# SSH形式

git@github.com:ユーザー名/git-clone.git

gitcloneコマンド形式

リポジトリをクローンする前にgit cloneコマンドの基本的な使い方を紹介します。

git clone [REPO_URL] [DIR] [REPO_URL]にはクローンしてくるリポジトリのアドレスを指定します。

[DIR]因子は、リポジトリをローカルにクローンする位置を指定します。 [DIR]省略可能で、特別な理由がなければ通常省略します。

HTTPSプロトコルでGitリポジトリクローン

まず、HTTPS形式でgitcloneをやってみます。 WindowsではGitと一緒にインストールされるgitbashを使用します。

macOSやLinuxではターミナルを使用します。

今回はWindowsの環境で実行してみます。

適切なディレクトリーに移動した後、次のコマンドを実行します。

$ git clone https://github.com/ユーザー名/git-clone.git

Cloning into ‘git-clone’…

remote: Enumerating objects: 4, done.

remote: Counting objects: 100% (4/4), done.

remote: Compressing objects: 100% (3/3), done.

remote: Total 4 (delta 0), reused 0 (delta 0), pack-reused 0

Unpacking objects: 100% (4/4), done.

リポジトリクローンが成功しました。

 ディレクトリーに入ると、Gitリポジトリを管理する.gitフォルダ、README.mdファイル、.gitignoreが生成されていることが確認できます。

$cd git-clone

$ ls -al total 17 drwxr-xr-x 1 ユーザー名 197609 0 Jul 6 23:54 ./

drwxr-xr-x 1 ユーザー名 197609 0 Jul 6 23:54 ../

drwxr-xr-x 1 ユーザー名 197609 0 Jul 6 23:54 .git/

-rw-r–r– 1 ユーザー名 197609 6352 Jul 6 23:54 .gitignore

-rw-r–r– 1 ユーザー名 197609 11 Jul 6 23:54 README.md

SSHプロトコルでGitリポジトリclone

GitHubにSSHキーセットアップされていれば、SSHプロトコルによるリポジトリクローンもすぐに可能です。 ディレクトリーが衝突する可能性があるので、他のディレクトリーに移動して次のコマンドを実行してください。

$ git clone git@github.com:ユーザー名/git-clone.git

パブリックリポジトリの別途認証なしにクローンになる必要がありますが、SSHキーが正しくセットアップされていない場合は問題になる可能性があります。 この場合は「トラブルシューティング:Permission denied」節を参考にしてください。

GitHub SSHキーのセットアップはまた次回紹介したいと思います。