2012-09-25 23 views
5

Während ich darauf wartete, dass der Systemadministrator das Gerrit-Repo einrichtet, habe ich meinen eigenen Zweig eingerichtet. Er hat mir gerade die Adresse des Repos geschickt. Ich habe es für die Herkunft festgelegt und irgendwie meine letzte Verpflichtung durchgesetzt. Cloning der Repo funktioniert gut, jedoch git branch -r gibt nichts zurück. Was geht hier vor sich?Ich kann meinen Remote-Zweig nicht sehen

$ 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

Versuchen Sie 'git fetch origin' und dann' git branch -r' erneut. – Amber

+0

Wenn Sie dort noch nichts gepusht haben, zeigt der geklonte Repo keinen Zweig. Es sollte jedoch nach dem letzten Befehl haben. – fork0

+0

@Amber: 'git push' aktualisiert sowohl das Remote- als auch das Remote-Tracking (den lokalen Verzweigungszeiger, passend zu den Remote-) Verzweigungszeigern – fork0

Antwort

20

Try this:

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

und dann git branch -r erneut versuchen.

In der Zukunft, wenn Fernbedienungen einrichten, ist es vorzuziehen, den folgenden Befehl statt git config zu verwenden:

git remote add <remotename> <remoteurl> 

z.B.

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

Dies wird automatisch sowohl die url und fetch Konfiguration einrichten.

+0

Ein anderes Problem gelöst :) Ich bin es gewöhnt, Repo-s zu klonen und habe dieses Ding zum ersten Mal gemacht. Tahnks viel, Bernstein! – Vorac

1

Versuchen Sie, git push -u origin master

+0

Ah, richtig. Wenn 'git remote add' verwendet würde, wäre es erledigt worden, aber der Setup-Befehl war etwas unvollständig:' git config remote.origin.url ... ' – fork0

+0

mvitkov @ mms: ~/projects/meinprojekt $ git push - u Origin-Master Branch-Master eingerichtet, remote Branch Master vom Ursprung zu verfolgen. Alles up-to-date. Git branch -r gibt jedoch immernoch nichts zurück! – Vorac

Verwandte Themen