Adding a remote repository
To add a new remote, use the git remote add
command on the terminal, in the directory your repository is stored at.
git remote add
コマンドは 2 つの引数を取ります:
- リモート名。たとえば
origin
- リモート URL。たとえば
https://[hostname]/user/repo.git
例:
$ git remote add origin https://hostname/user/repo.git
# 新しいリモートの設定
$ git remote -v
# 新しいリモートの検証
> origin https://hostname/user/repo.git (fetch)
> origin https://hostname/user/repo.git (push)
For more information on which URL to use, see "About remote repositories."
Troubleshooting: Remote origin already exists
This error means you've tried to add a remote with a name that already exists in your local repository.
$ git remote add origin https://hostname/octocat/Spoon-Knife.git
> fatal: remote origin already exists.
To fix this, you can:
- 新しいリモートに別の名前を使う.
- Rename the existing remote repository before you add the new remote. For more information, see "Renaming a remote repository" below.
- Delete the existing remote repository before you add the new remote. For more information, see "Removing a remote repository" below.
Changing a remote repository's URL
The git remote set-url
command changes an existing remote repository URL.
Tip: For information on the difference between HTTPS and SSH URLs, see "About remote repositories."
git remote set-url
コマンドは 2 つの引数を取ります:
- 既存のリモート名。
origin
やupstream
がよく使われます。 - リモートの新しい URL。 例:
- HTTPS を使うよう更新する場合、URL は以下のようになります:
https://[hostname]/USERNAME/REPOSITORY.git
- SSH を使うよう更新する場合、URL は以下のようになります:
git@hostname:USERNAME/REPOSITORY.git
- HTTPS を使うよう更新する場合、URL は以下のようになります:
リモート URL の SSH から HTTPS への切り替え
- ターミナルターミナルGit Bashを開いてください。
- ワーキングディレクトリをローカルプロジェクトに変更します。
- 変更したいリモートの名前を取得するため、既存のリモート一覧を表示します。
$ git remote -v > origin git@hostname:USERNAME/REPOSITORY.git (fetch) > origin git@hostname:USERNAME/REPOSITORY.git (push)
git remote set-url
コマンドでリモートの URL を SSH から HTTPS に変更します。$ git remote set-url origin https://hostname/USERNAME/REPOSITORY.git
- リモート URL が変更されたことを検証します。
$ git remote -v # Verify new remote URL > origin https://hostname/USERNAME/REPOSITORY.git (fetch) > origin https://hostname/USERNAME/REPOSITORY.git (push)
次にリモートリポジトリに対して git fetch
、git pull
、または git push
を実行するときに、GitHub ユーザ名とパスワードを求められます。 When Git prompts you for your password, enter your personal access token (PAT) instead. Password-based authentication for Git has been removed, and using a PAT is more secure. For more information, see "Creating a personal access token."
You can use a credential helper so Git will remember your GitHub username and personal access token every time it talks to GitHub.
リモート URL の HTTPS から SSH への切り替え
- ターミナルターミナルGit Bashを開いてください。
- ワーキングディレクトリをローカルプロジェクトに変更します。
- 変更したいリモートの名前を取得するため、既存のリモート一覧を表示します。
$ git remote -v > origin https://hostname/USERNAME/REPOSITORY.git (fetch) > origin https://hostname/USERNAME/REPOSITORY.git (push)
git remote set-url
コマンドでリモートの URL を HTTPS から SSH に変更します。$ git remote set-url origin git@hostname:USERNAME/REPOSITORY.git
- リモート URL が変更されたことを検証します。
$ git remote -v # Verify new remote URL > origin git@hostname:USERNAME/REPOSITORY.git (fetch) > origin git@hostname:USERNAME/REPOSITORY.git (push)
Troubleshooting: No such remote '[name]'
このエラーは、変更しようとしたリモートが存在しないことを意味します。
$ git remote set-url sofake https://hostname/octocat/Spoon-Knife
> fatal: No such remote 'sofake'
リモート名を正しく入力したか確認してください。
Renaming a remote repository
Use the git remote rename
command to rename an existing remote.
git remote rename
コマンドは、次の 2 つの引数を取ります:
- 既存のリモート名(
origin
など) - リモートの新しい名前 (
destination
など)
サンプル
次の例は (推奨されるとおり) HTTPS を使用してクローンを作成したと想定しています。
$ git remote -v
# 既存のリモートを表示
> origin https://hostname/オーナー/リポジトリ.git (fetch)
> origin https://hostname/オーナー/リポジトリ.git (push)
$ git remote rename origin destination
# リモート名を「origin」から「destination」に変更
$ git remote -v
# リモートの新しい名前を確認
> destination https://hostname/オーナー/リポジトリ.git (fetch)
> destination https://hostname/オーナー/リポジトリ.git (push)
Troubleshooting: Could not rename config section 'remote.[old name]' to 'remote.[new name]'
このエラーは、名前を変更しようとして入力した古いリモート名のリモートが存在しない、という意味です。
現在どのリモートが存在するかは、次のように git remote -v
コマンドでチェックできます:
$ git remote -v
# 既存のリモートを表示
> origin https://hostname/コードオーナー/リポジトリ.git (fetch)
> origin https://hostname/コードオーナー/リポジトリ.git (push)
Troubleshooting: Remote [new name] already exists
このエラーは、使用しようとしたリモート名がすでに存在する、という意味です。 To solve this, either use a different remote name, or rename the original remote.
Removing a remote repository
Use the git remote rm
command to remove a remote URL from your repository.
git remote rm
コマンドは 1 つの引数を取ります:
- リモート名 (
destination
など)
サンプル
次の例は (推奨されるとおり) HTTPS を使用してクローンを作成したと想定しています。
$ git remote -v
# 現在のリモートの表示
> origin https://hostname/オーナー/リポジトリ.git (fetch)
> origin https://hostname/オーナー/リポジトリ.git (push)
> destination https://hostname/フォーカー/リポジトリ.git (fetch)
> destination https://hostname/フォーカー/リポジトリ.git (push)
$ git remote rm destination
# リモートの削除
$ git remote -v
# 削除されていることの検証
> origin https://hostname/オーナー/リポジトリ.git (fetch)
> origin https://hostname/オーナー/リポジトリ.git (push)
メモ: git remote rm
はリモートリポジトリをサーバから削除するわけではありません。 リモートとその参照をローカルリポジトリから削除するだけです。
Troubleshooting: Could not remove config section 'remote.[name]'
このエラーは、削除しようとしたリモートが存在しないことを意味します。
$ git remote rm sofake
> error: Could not remove config section 'remote.sofake'
リモート名を正しく入力したか確認してください。