【Git】 GitHubなどのリモートリポジトリと紐付けよう

Gitは、ローカルのリポジトリだけでなく、外部のサーバにもリポジトリを配置できます。その場所をリモートリポジトリと呼びます。

ほぼ確実にセットで利用するもで、GitHub、BitBucket、GitBucketなどが存在します。

今回はGitHubを用いて、リモートリポジトリにリポジトリを上げる方法を紹介します。

リポジトリを作成

GitHubアカウントを所持していない場合は、まずアカウントを作成してください。

作成したら、まずはGitHub側でリポジトリを作成します。右上のプラスアイコンから作成しましょう。

新しいリポジトリを作れる場所

リポジトリの新規作成では、リポジトリ名や説明を適当に決め、Createしましょう。readmeファイルやgitignoreの追加はお好みで大丈夫です。

新規リポジトリの作成画面

作成後は、そのリポジトリを利用するための手段がおおまかに3つあります。

作業中、別画面が出てgithubのログインを求められる場合があります。その場合は自身のアカウントでログインしてください。

クローンする

リポジトリをクローンすると、自動的にリモートリポジトリとローカルのリポジトリが紐付いた状態で、ローカルにリポジトリが新規作成されます。新規のリポジトリだけでなく、主に既存のリポジトリをローカルに落としてくる場合にも利用します。

リポジトリ作成後の、画像の場所にあるURLを利用します。

clone用URLがある場所

このURLをコピーして、リポジトリを配置したいフォルダで

git clone https://github.com/xxxxxx/sample-repo.git

とすれば完了です。この1行でローカルにリポジトリを作成できるだけでなく、リモートリポジトリとの紐付きも行われています。

新規にリポジトリを作成してpushする

ローカルで新規に作成して… としたい場合は、…or create a new repository on the command lineと書かれている部分のコードを利用します。

# README.mdファイルを作成
echo "# sample-repo" >> README.md

# ローカルにリポジトリ作成
git init

# さっき作ったreadme.mdを追跡対象に追加
git add README.md
# その変更をコミット
git commit -m "first commit"

# 現在のブランチ名をmainに変更
git branch -M main

# リモートリポジトリを関連付け
git remote add origin https://github.com/xxxxxx/sample-repo.git

# リモートリポジトリにpush
git push -u origin main

となっています。実際にはコピペするだけで動作しますが、是非理解しておきましょう。

Terminalでファイルを作ると、文字コードの都合でバイナリファイル扱いになる場合があるため、IDEなどで作成したほうが確実です。

既存のリポジトリをpushする

この場合、…or push an existing repository from the command lineと書かれている部分のコードを利用します。

# リモートリポジトリを関連付け
git remote add origin https://github.com/xxxxxx/sample-repo.git

# 現在のブランチ名をmainに変更
git branch -M main

# リモートリポジトリにpush
git push -u origin main

git remote addをすることで、既存のリポジトリをリモートリポジトリを紐付けることが可能です。

直前の「新規にリポジトリを作成してpushする」の項では新規にリポジトリを作成していますが、commit後は既存のリポジトリと同じ作業になります。

わざわざgit branch -M mainとするのは、githubにおけるデフォルトのブランチ名がmainであるためです。

最後にpushすればブランチの状態がリモートリポジトリに反映されます。

この方法は、リモートリポジトリがまっさらな状態の場合に行うべき方法です。

まとめ

ローカルリポジトリとリモートリポジトリを関連付けるには、git remote add origin <URL>とします。

業務では既にあるリポジトリをcloneすることが多いですが、趣味の開発では新規作成が多いと思います。そのため、新しいプロジェクトでリモートリポジトリを紐付ける方法を知っておくとスムーズです。

remote repo thumb

役に立ったらシェアしよう!