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」に設定します。これは別のリポジトリに設定することができます。



