Podczas próby wypychania za pośrednictwem drzewa źródłowego pojawia się następujący błąd:
git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree push -v --tags origin refs/heads/master:refs/heads/master
Pushing to https://[email protected]/repo.git
To https://[email protected]/repo.git
= [up to date] master -> master
...
! [rejected] example_tag -> example_tag (already exists)
updating local tracking ref 'refs/remotes/origin/master'
error: failed to push some refs to 'https://[email protected]/repo.git'
hint: Updates were rejected because the tag already exists in the remote.
Completed with errors, see above
O ile wiem, nie wprowadziłem żadnych zmian w tym tagu. Jak mogę to naprawić?
git
push
atlassian-sourcetree
Rozsądne
źródło
źródło
git pull --tags -f
aby nadpisać ten, który masz lokalnie, jeśli tego chceszJeśli nie wprowadziłeś żadnych lokalnych zmian w tagu, który chcesz zachować, możesz usunąć tag, który został odrzucony, ponieważ już istnieje (
example_tag
w tym przypadku):Powodem jest to powszechne w SourceTree dlatego, że push wszystkie tagi opcja jest ustawiona na domyślne. (Innym sposobem na ukrycie tego błędu jest odznaczenie tej opcji).
źródło
Odznacz
push all tags
u dołu interfejsu użytkownika, gdy potwierdzasz git pushźródło
push all tags
?push all tags
w interfejsie użytkownika, spróbuje nadpisać poprzednie tagi. ale musisz to ODKRYĆ, aby zapobiec nadpisaniupush all TABs
. Nie jestem zaznajomiony z SourceTree, ale podejrzewałem chodziłoTAGs
zamiastTABs
.TAGs
ale jeśli nie,TABs
git pull --tags
działa naprawdę dobrze, ale czasami nawet przy użyciu tego polecenia może pojawić się błąd. Przykładowy komunikat o błędzie:Można to rozwiązać za pomocą polecenia:
git pull --tags -f
Źródło:
https://github.com/concourse/git-resource/issues/233
źródło
Upewnij się, że odznaczyłeś przycisk „Wciśnij wszystkie tagi”.
źródło
Tak, rzeczywiście, najpierw wyciągnij tagi przed sobą
push --tags
. Rozwiązał mój problem.źródło
Rozwiązuję problem na SourceTree w ten sposób:
źródło