ウェブサイト検索

Gitリモートを切り替え、追加し、削除する方法


Gitは分散型バージョン管理システムであり、あなたのローカルリポジトリはGithubのようなサイトのリモートリポジトリと同じものです。変更をプッシュまたはプルする必要があるときは、Gitのリモートを使用して行わなければなりません。

Gitリモートとは何ですか?

Gitは分散型サービスであり、ローカルとリモートのリポジトリが同じシステムを使用しているため、ローカルリポジトリは現在のGithubリポジトリの状態を把握しておらず、その逆もまた然りです。通信するために、Gitクライアントはデータをプッシュおよびプルするためのリモートを設定する必要があります。

リモートは基本的に名前のあるURLですが、もう少し複雑です。なぜなら、実行するタイミングを自分で選ぶからです。

git pull

と

git push

実際には、複数のGitリモートを持つことができます。これは、AWS CodeCommitのようなクラウド特有のソリューションなど、異なるプラットフォームで開発リポジトリとリリースリポジトリを管理するのに役立ちます。

他の人からの新しい変更は、リモートから取得する必要があります。これは、作業中のブランチへの変更を含みますが、進行中の他のブランチの変更も取得できます。何かをコミットする必要があるとき、例えばHEADに追加する場合や新しいブランチを作成する場合は、リモートにもプッシュする必要があります。

Gitリモートの管理

インターネットから最初にGitリポジトリをクローンまたはダウンロードすると、そのリポジトリは「origin」と呼ばれるリモートで構成されている可能性が高いです。これを確認するには、リモートを一覧表示します。

-v

詳細表示用のフラグで、URLも表示します:

git remote -v

リモートを切り替えたい場合、Githubリポジトリをフォークして自分のリポジトリに更新をプッシュする場合のように、古いリモートを削除する必要があります。

git remote rm origin

次に、新しいリモートを追加できます。git initを実行した後に新しいGitリポジトリをセットアップしている場合、デフォルトでリモートがないため、これを行う必要があります。正確なURLは使用しているサービスによって異なりますが、Githubの場合はメインリポジトリページの「Code」の下にあります。HTTPSまたはSSHを使用して接続するかを選択できます。

URLを取得したら、通常「origin」と呼ばれる名前でそれを追加できます。これは主にリモートの名前です。

git remote add origin https://github.com/username/reponame.git

設定が完了すると、リモート名とリモートブランチを指定してプッシュやプルができるようになります。

git push remote master

git fetch/pull remote master

異なるリモートにブランチをプッシュする

デフォルトのリモートを設定することができ、通常は origin に設定されます。これが、初めてプッシュする際にアップストリームを設定する必要がある理由です。

git push --set-upstream origin/master

しかし、個々のブランチごとにアップストリームを設定することもできます。

git switch releasebranch

git branch --set-upstream-to=release/master

ここで、Gitはreleasebranchのアップストリームを「release」に設定します。これは別のリポジトリに設定することができます。

関連記事: