2012-09-25 47 views
5

sysadminがgerritリポジトリをセットアップするのを待つ間に、自分でブランチを作成しました。彼はちょうど私にレポの住所を送った。私は起源のためにそれを設定し、何とか私の最後のコミットをプッシュした。 レポのクローニングは正常に機能しますが、git branch -rは何も返しません。ここで何が起こっているのですか?リモートブランチが表示されません

$ git init 
# made some comits  
git config remote.origin.url ssh://gerrit.mm-sol.com/branchname 

$ git push origin SH1-of-my-last-commit:master  
error: unable to push to unqualified destination: master  
The destination refspec neither matches an existing ref on the remote nor 
begins with refs/, and we are unable to guess a prefix based on the source ref. 
error: failed to push some refs to 'ssh://gerrit.mm-sol.com/apps/phone-shaker' 

$ git push origin master 
Counting objects: 85, done. 
Delta compression using up to 4 threads. 
Compressing objects: 100% (85/85), done. 
Writing objects: 100% (85/85), 20.95 KiB, done. 
Total 85 (delta 49), reused 0 (delta 0) 
remote: Resolving deltas: 100% (49/49) 
remote: Updating references: 100% (1/1) 
To ssh://gerrit.mm-sol.com/branchname 
* [new branch]  master -> master 
+0

'git fetch origin'と' git branch -r'をもう一度試してみてください。 – Amber

+0

まだ何もプッシュしていない場合、クローンされたレポはブランチを表示しません。しかし、それは最後のコマンドの後になければなりません。 – fork0

+0

@Amber: 'git push'は、リモートとリモートの両方のトラッキング(リモートにマッチするローカルブランチポインタ)を更新します。 – fork0

答えて

20

に試してみてください。

git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*" 
git fetch origin 

をし、再度git branch -rを試してみてください。将来的に

リモコンを設定する場合、それは代わりgit config以下のコマンドを使用することが好ましいです:

git remote add <remotename> <remoteurl> 

例えば

git remote add origin ssh://gerrit.mm-sol.com/branchname 

これは、自動的に両方のurlfetchコンフィギュレーション設定します。

+0

別の問題が解決しました:)私はrepo-sをクローニングするのに慣れていて、初めてこのことをやっていました。 Tahnksたくさん、琥珀! – Vorac

1

このお試しくださいgit push -u origin master

+0

ああ、そうです。もし 'git remote add'が使われていたら、それはやってしまったでしょうが、setupコマンドはやや不完全です:' git config remote.origin.url ... ' – fork0

+0

mvitkov @ mms:〜/ projects/myproject $ git push- u起点マスタ 分岐マスタを設定して、リモートブランチマスタを起点から追跡します。 最新の情報です。しかし、git branch -rはまだ何も返しません! – Vorac

関連する問題