2015-07-30 15 views
6

I zostały usunięte niektóre znaczniki uruchamiając:tagi Git wykazują choć Usunąłem je

  1. git tag -d TAGNAME
  2. git push origin :refs/tags/TAGNAME

Potem poprosił wszystkich członków zespołu, aby uruchomić:

  1. git tag -d $(git tag) - aby usunąć wszystkie lokalne tagi
  2. git fetch --tags - aby pobrać bieżące znaczniki z pilota.

Problem polega na tym, że od czasu do czasu widzę, jak stare znaczniki pojawiają się ponownie. Podejrzewam, że ktoś nadal ma kilka starych tagów i nie usunął ich ani nie wyciągnął przed usunięciem.

Czy istnieje sposób na całkowite usunięcie tagu?

Na przykład - aby dokonać zatwierdzenia, które usuwa stare znaczniki, a więc zanim użytkownicy będą mogli je wypchnąć, będą musieli pobrać to zatwierdzenie, aby zmienił ich tagi. Czy to jest możliwe?

Odpowiedz

4

Po usunięciu odległych gałęzi należy wykonać git remote prune origin w celu całkowitego usunięcia usuniętych gałęzi z kopii roboczej.

Ponieważ tagi są prawie takie same jak gałęzie, zakładam, że musisz przycinać tutaj również.

git fetch wie również parametr --prune, więc albo

git remote prune origin 

lub

git fetch --prune 

powinno załatwić sprawę.

Jest to dodatkowy środek bezpieczeństwa: fetch aktualizuje tylko znane odległe gałęzie i wprowadza nowe, ale nigdy nie usuwa ich, chyba że wymagane jest zamówienie na --prune.

Powiązane problemy