web-dev-qa-db-ja.com

Git:ブランチのデフォルトのリモート設定はどれですか?

リモートのベアリポジトリhubがあります。私はmasterブランチでのみ働いています。以下のこのエラーメッセージの最後の文は、私を不思議に思わせます。「現在のブランチのデフォルト設定リモート」を見つけるにはどうすればよいですか?そして、どのように設定しますか?

[myserver]~/progs $ git remote -v
hub     ~/sitehub/progs.git/ (fetch)
hub     ~/sitehub/progs.git/ (Push)

[myserver]~/progs $ git branch -r
  hub/master

[myserver]~/progs $ cat .git/HEAD
ref: refs/heads/master

[myserver]~/progs $ git pull hub
You asked to pull from the remote 'hub', but did not specify
a branch. Because this is not the default configured remote
for your current branch, you must specify a branch on the command line.
184
leonbloy

リモートブランチを追跡する

Git-branchの追跡オプションを使用して、プッシュおよびプルのデフォルトのリモートリポジトリを指定できます。通常、ローカルマスターブランチの作成時に--trackオプションを指定してこれを行いますが、既に存在するため、次のように設定を手動で更新します。

.git/configを編集します

[branch "master"]
  remote = Origin
  merge = refs/heads/master

これで、単にgit Pushとgit pullを実行できます。

[ ソース ]

220
scragz

.gitconfigが意味のある状態のままであることを保証して、より簡単にそれを行うことができます。

Gitバージョンv1.8.0以降を使用する

プッシュ時のgit Push -u hub master、または:
git branch -u hub/master

OR

(これにより、現在チェックアウトされているブランチのリモートがhub/masterに設定されます)
git branch --set-upstream-to hub/master

OR

(これにより、branch_nameという名前のブランチのリモートがhub/masterに設定されます)
git branch branch_name --set-upstream-to hub/master

v1.7.x以前を使用している場合

--set-upstreamを使用する必要があります。
git branch --set-upstream master hub/master

258
urschrei

完全を期すために、前の回答は上流ブランチを設定する方法を示していますが、それを見る方法は示していません。

これを行うにはいくつかの方法があります。

git branch -vvは、すべてのブランチの情報を表示します。 (ほとんどの端末で青でフォーマットされています)

cat .git/configもこれを示しています。

参考のため:

24
leonbloy