W Git gałąź jest tylko uporządkowaną listą zatwierdzeń (aka: checkins). Coś, co może być nieco mylące dla nowych użytkowników, polega na tym, że oddziały nie muszą mieć nazwy (chociaż w większości przypadków chcesz ją mieć); i nie ma nic szczególnego w żadnej konkretnej gałęzi ( master
gałąź ta jest po prostu domyślna, która jest tworzona dla ciebie podczas inicjowania repozytorium).
Prawdopodobnie już to wiesz, ale Git różni się od niektórych innych systemów kontroli wersji, takich jak popularny „Subversion”, ponieważ każda „kopia robocza” (w języku Subversion) jest własnym repozytorium ... w rzeczywistości nie ma nic szczególnie specjalne na temat poszczególnych kopii; z wyjątkiem tego, że jeden egzemplarz został ogólnie uzgodniony jako „kanoniczny”, który służy do przechowywania produktu końcowego.
Wracając do pytania ... repozytorium „kanoniczne”, które sklonowałeś podczas uruchamiania kopii lokalnej, domyślnie zawierało gałąź „master”; i utknęło wokół. Teraz, jeśli miałeś dostęp do komputera zawierającego repozytorium główne, możesz się zalogować i uruchomić:
git branch -d master
Jeśli jednak nie możesz tego zrobić, nadal możesz to zrobić z poziomu lokalnego komputera. git branch
Komenda ma -r
opcję, która wpływa na zdalne repozytorium. Innymi słowy, uruchomienie następującego polecenia powinno działać:
git branch -d -r master
Zauważ, że w obu tych przypadkach; Zakładam, że master
został on całkowicie włączony do historii programowania, w której obecnie znajduje się twoja kopia lokalna. Jeśli nigdy wcześniej nie korzystałeś master
(np. Tylko zameldowałeś się w development
lub production
), nie masz się czym martwić. Jeśli jednak (lub ktoś inny) odprawiałeś rzeczy master
, możesz mieć problem. Można wymusić usunięcie, zmieniając -d
się -D
w powyższych poleceń; ale gorąco polecam sprawdzenie, co jest master
wcześniej! Jeśli nie masz dostępu do komputera zdalnego, prawdopodobnie nie będziesz w stanie go odzyskać!
Tak poza tym; jeśli ty (lub ktokolwiek inny) jesteś nowy w Git, bardzo polecam przeczytanie Git from the Bottom Up autorstwa Johna Wiegleya . Chociaż użyłem Git trochę sam, zanim znalazłem ten artykuł, tak naprawdę nie rozumiałem, jak to działa, dopóki go nie przeczytałem. Jest to całkiem przydatne!
git branch -d -r master
nie usuwa już zdalnej gałęzi - usuwa wiedzę twojej lokalnej kopii o zdalnej gałęzi. Następnym razemgit fetch
oddział wróci! Zamiast tego będziesz chciał uruchomićgit push origin :master
. Zasadniczo przesuwasz gałąź zerową (pusta nazwa gałęzi po lewej stronie:
) nad górną gałąź zdalną (nazwa gałęzi po prawej stronie:
), skutecznie ją usuwając.master
jest domyślną gałęzią git. Nie wiem, dlaczego jest to takie straszne, gdy git mówi ci, jak daleko jesteś od mistrza, ale jeśli chcesz usunąć gałąź ze zdalnego repozytorium, lokalne usunięcie nie wystarczy. Spróbuj zamiast tego:To nie wypchnie niczego (część przed dwukropkiem) do twojego serwera źródłowego i nadpisze master. Innymi słowy, powinien zdalnie usunąć gałąź główną.
źródło