Git リモートの設定

Stewart Nguyen 2022年2月6日
Git リモートの設定

この記事では、リモートリポジトリを追加または削除する方法を紹介します。

リモートリポジトリは、Github/Gitlab などのどこかでホストされているプロジェクトです。

リモートリポジトリを追加すると、リモート URL 全体を入力する代わりに、短い名前(エイリアス)を使用してコマンドを実行できます。

$ git fetch git@github.com:stwarts/git-demo.git
From github.com:stwarts/git-demo
 * branch            HEAD       -> FETCH_HEAD

git clone を使用すると、origin と呼ばれるデフォルトのリモート名が自動的に設定されます。

その値は複製されたリポジトリです。

$ git clone git@github.com:stwarts/git-demo.git
Cloning into 'git-demo'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.
$ cd git-demo
$ git remote -v
origin git@github.com:stwarts/git-demo.git (fetch)
origin git@github.com:stwarts/git-demo.git (push)

git remote -v を使用して、すべてのリモートの詳細を一覧表示します。名前だけを表示するには、git remote を使用します。

  • -v オプションは --verbose の略で、各名前に対応する URL を表示します。
$ git remote
origin
$ git remote -v
origin git@github.com:stwarts/git-demo.git (fetch)
origin git@github.com:stwarts/git-demo.git (push)

ローカルでリポジトリを初期化するときは、リモートを明示的に追加する必要があります。

git remote add <name> <url>
$ git remote add alice_git_demo git@github.com:alice/git-demo.git
$ git remote -v
alice_git_demo git@github.com:alice/git-demo.git (fetch)
alice_git_demo git@github.com:alice/git-demo.git (push)
origin git@github.com:stwarts/git-demo.git (fetch)
origin git@github.com:stwarts/git-demo.git (push)

git remote rename <old> <new> を実行して、既存のリモートの名前を変更できます。

$ git remote rename alice_git_demo stwarts_git_demo
origin git@github.com:stwarts/git-demo.git (fetch)
origin git@github.com:stwarts/git-demo.git (push)
stwarts_git_demo git@github.com:alice/git-demo.git (fetch)
stwarts_git_demo git@github.com:alice/git-demo.git (push)

追跡されたリポジトリを削除するには、git remote remove <name> を使用します。

$ git remote remove stwarts_git_demo
$ git remote remove origin
$ git remote add stwarts_git_demo git@github.com:stwarts/git-demo.git
$ git remote -v
stwarts_git_demo git@github.com:stwarts/git-demo.git (fetch)
stwarts_git_demo git@github.com:stwarts/git-demo.git (push)

stwarts_git_demo の名前は、データの共有に使用する準備ができています。

$ git fetch stwarts_git_demo
From github.com:stwarts/git-demo
 * [new branch]      main       -> stwarts_git_demo/main
$ touch file.txt
$ git add file.txt && git commit -m 'Add file.txt'
[main 80bf058] Add file.txt
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 file.txt
$ git push stwarts_git_demo main
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 12 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 281 bytes | 93.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To github.com:stwarts/git-demo.git
   dd38fe8..80bf058  main -> main

関連記事 - Git Remote