リモートのベアリポジトリ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.
リモートブランチを追跡する
Git-branchの追跡オプションを使用して、プッシュおよびプルのデフォルトのリモートリポジトリを指定できます。通常、ローカルマスターブランチの作成時に--trackオプションを指定してこれを行いますが、既に存在するため、次のように設定を手動で更新します。
.git/config
を編集します
[branch "master"]
remote = Origin
merge = refs/heads/master
これで、単にgit Pushとgit pullを実行できます。
[ ソース ]
.gitconfig
が意味のある状態のままであることを保証して、より簡単にそれを行うことができます。
プッシュ時のgit Push -u hub master
、または:git branch -u hub/master
(これにより、現在チェックアウトされているブランチのリモートがhub/master
に設定されます)git branch --set-upstream-to hub/master
(これにより、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
完全を期すために、前の回答は上流ブランチを設定する方法を示していますが、それを見る方法は示していません。
これを行うにはいくつかの方法があります。
git branch -vv
は、すべてのブランチの情報を表示します。 (ほとんどの端末で青でフォーマットされています)
cat .git/config
もこれを示しています。
参考のため: