Jaka jest różnica między HEADimaster Gitem Gitem?
Zrobiłem klon projektu na GitHub i chcę przekazać moje zmiany do pilota. Ale do którego powinienem naciskać?

Jaka jest różnica między HEADimaster Gitem Gitem?
Zrobiłem klon projektu na GitHub i chcę przekazać moje zmiany do pilota. Ale do którego powinienem naciskać?

Odpowiedzi:
masterjest odniesieniem do końca gałęzi. Zgodnie z konwencją (i domyślnie) jest to zwykle główna gałąź integracji, ale nie musi tak być.
HEADjest w rzeczywistości specjalnym rodzajem odniesienia, które wskazuje na inne odniesienie. Może wskazywać master lub nie (wskaże, który oddział jest aktualnie wyewidencjonowany). Jeśli wiesz, że chcesz zobowiązać się domaster oddziału, popchnij do tego.
Oto wizualny przykład:

W swoim własnym repozytorium możesz sprawdzić, do kogo HEADwskazuje, uruchamiając to:
$ git symbolic-ref HEAD
refs/heads/master
Jednak znalezienie miejsca, na które remotes/origin/HEADwskazuje, jest trudniejsze, ponieważ znajduje się na zdalnym komputerze.
Tutaj jest świetny mały samouczek na temat referencji git:
http://people.gnome.org/~federico/news-2008-11.html#pushing-and-pulling-with-git-1
Prosta odpowiedź brzmi: HEADwskaźnik / etykieta do ostatniego zatwierdzenia gałęzi, w której aktualnie się znajdujesz. masterto domyślna gałąź tworzona podczas inicjowania repozytorium git (np git init.).
Możesz usunąć mastergałąź (np git branch -D master.). Nie można usunąć HEADwskaźnika.
HEADto wskaźnik / etykieta do ostatniego zatwierdzenia gałęzi, w której aktualnie jesteś.” Myślę, że to w najlepszym razie wprowadza w błąd. Jeśli kasujesz starsze zatwierdzenie, HEAD jest teraz wskaźnikiem do tego starszego zatwierdzenia, a nie do ostatniego zatwierdzenia. Dobrze?
checkoutpolecenie jest równoważne przełączaniu gałęzi w innych popularnych systemach SCM.
HEADtak naprawdę jest wskaźnik Git . Doceniam twój komentarz i myślę, że inni też. Treść mojego oryginalnego postu wraz z komentarzem uzupełniającym się uzupełniają. Dzięki.
Po prostu wciśnij zmiany swojego obecnego oddziału
git push origin
i popchnie B„zmiany twojego oddziału do origin/B”.
Jeśli jesteś w masteroddziale, git będzie naciskać na origin/master.
W rzeczywistości wypchnie wszystkie zmiany w lokalnych oddziałach, które mają pasujące zdalne oddziały w origin. Jest kontrolowany przez ustawienie konfiguracyjne push.default .
Zobacz także wypychanie RefSpecs w książce Pro Git .
Co widzisz jest sidebar reprezentujących wszystkie refspecs swojej zdalnego repo w rozwidleniu Experimental GitX w projekcie GitX .

HEADWyznaczy domyślny oddział dla tego pilota.
Zobacz git remote set-headstronę podręcznika :
Posiadanie domyślnej gałęzi dla pilota nie jest wymagane, ale umożliwia określenie nazwy pilota zamiast określonej gałęzi.
Na przykład, jeśli domyślna gałąź dlaoriginjest ustawiona namaster, tooriginmożna ją podać tam, gdzie normalnie byś ją określiłorigin/master.