2012-09-25 16 views
5

Podczas oczekiwania na sysadmin, aby skonfigurować repozytorium gerrit, stworzyłem własną gałąź. Właśnie wysłał mi adres repo. Ustawiłem go z myślą o pochodzeniu i jakoś przeforsowałem moje ostatnie zatwierdzenie. Klonowanie repo działa dobrze, jednak git branch -r nic nie zwraca. Co tu się dzieje?Nie widzę mojego zdalnego oddziału

$ 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

Spróbuj 'git fetch origin', a następnie' git branch -r' ponownie. – Amber

+0

Jeśli jeszcze niczego nie pchnąłeś, klonowane repo nie wyświetli żadnego oddziału. Powinien jednak mieć po ostatniej komendzie. – fork0

+0

@Amber: 'git push' aktualizuje zarówno zdalne, jak i zdalne śledzenie (lokalny wskaźnik gałęzi, dopasowując pilota) wskaźniki gałęzi – fork0

Odpowiedz

20

Spróbuj tego:

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

a następnie spróbuj ponownie git branch -r.

w przyszłości, gdy utworzenie piloty, to korzystnie stosuje się następujące polecenia zamiast git config:

git remote add <remotename> <remoteurl> 

np

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

To automatycznie skonfigurować zarówno konfiguracji url i fetch.

+0

Kolejny problem rozwiązany :) Jestem przyzwyczajony do klonowania repo-s i robiłem to po raz pierwszy. Tahnks, Amber! – Vorac

1

Spróbuj git push -u origin master

+0

Ah, racja. Jeśli użyto 'git remote add', to byłoby to zrobione, ale polecenie setup było nieco niekompletne:' git config remote.origin.url ... ' – fork0

+0

mvitkov @ mms: ~/projects/myproject $ git push - u origin master Master rozgałęzienia skonfigurowany do śledzenia zdalnego oddziału głównego od początku. Wszystko na czasie. Jednak gałąź git -r nadal nie zwraca nic! – Vorac

Powiązane problemy