Próbuję wypchnąć nową lokalną gałąź product-0.2
do zdalnego, gdzie jest już tag o tej samej nazwie (ale sama gałąź nie istnieje)
git push -v --tags --set-upstream origin product-0.2:product-0.2
Pushing to https://****@github.com/mycompany/product.git
error: src refspec product-0.2 matches more than one.
error: failed to push some refs to 'https://****@github.com/mycompany/product.git'
Tak samo z:
git push origin product-0.2:/refs/heads/product-0.2
Chociaż działa na odwrót, np. Utwórz gałąź product-0.1
, zatwierdź na niej, a następnie zastosuj tag product-0.1
.
Niektórzy ludzie omijają ten problem, usuwając lokalnie kolidujący tag, a następnie wypychając gałąź, a następnie pobierając zdalny tag, ale wydaje się to kłopotliwe i podatne na błędy.
Jak mogę utworzyć oddział przy minimalnym wysiłku?
Dzięki za wkład
git
git-branch
youri
źródło
źródło
refs/heads/product-0.2:refs/heads/product-0.2
, tj. Bez wiodącego ukośnika, a także podaj pełne refspec po stronie lokalnej.Odpowiedzi:
Następujące polecenie powinno działać.
źródło
refs/remotes/remote_name/remote_branch
master
i nie mógł już wypychać do gałęzi o tej samej nazwie.git push origin refs/heads/master
załatwił sprawę (potem usunąłem ten tag, żeby przestał się dziać).Sprawdź, jakie tagi są powiązane z Twoim oddziałem:
W moim przypadku miałem tag z tą samą nazwą oddziału. Usunięcie zadziałało:
źródło
Zmień nazwy.
Niezależnie od tego, czy robisz to lokalnie, czy zdalnie, po prostu zmień nazwy.
Znacznik i gałąź są zasadniczo tym samym w git: reprezentują wskaźnik do zatwierdzenia. Różnica polega na tym, że wskaźnik gałęzi przesuwa się do przodu w miarę wykonywania zatwierdzeń, podczas gdy znacznik pozostaje statyczny.
Jednakże , można wykonać
git checkout
na każdej gałęzi lub etykiety. Dlaczego miałbyś walczyć z tymi wszystkimi podwójnymi imionami? Zmienić je.źródło
product-0.2.0
z ostatnią cyfrą dla „poziomu poprawki”, ale mimo to mieliśmy konwencję nazewnictwa i nie mieliśmy w przeszłości problemów, kiedy gałąź została utworzona przed znacznikiem.Jeśli próbujesz przekazać tag, który ma taką samą nazwę gałęzi:
źródło
Próbowałem dziś rano wypchnąć do repozytorium kanonicznego i otrzymałem następujący błąd:
Stało się tak, ponieważ przypadkowo utworzyłem lokalnie tag główny:
Po usunięciu tego tagu lokalnie:
Znowu mogłem pchać.
źródło
To się nie udało:
Podczas gdy to działało dla mnie:
źródło
Jeśli używasz drzewa źródłowego, wykonaj następujące kroki.
Spróbuj ponownie wprowadzić zmiany. teraz to zadziała.
źródło