Trochę pracy w jądrze systemu Android. Jestem bardzo obeznany z git, ale niezbyt znajomy z repo, więc przeczytałem następujący dokument: http://source.android.com/source/version-control.html. Do mojego zrozumienia, a także eksperymentowania z gałęziami tematów, repo start BRANCH_NAME
jest taki sam jak git checkout -b BRANCH_NAME
. Czy mam rację w moim rozumieniu, czy też są jakieś subtelne, ważne szczegóły, których mi brakuje?Różnica między początkiem repo i git check -b
Odpowiedz
Patrząc na start.py
source code na początku repo, wierzę, główna różnica polega na zarządzaniu manifest files, które są zawarte w projektach z Androidem.
rozpoczyna nową gałąź rozwoju, zaczynając od rewizji określonej w manifeście.
Aby dodać do Trevor Johns 'answer, trzeba sprawdzić "How do you make an existing Git branch track a remote branch?" (gdy nie używasz repo start
):
git checkout -b newBranch -t aosp/master
To ustawi pilota i scalić (-t
= „utwór ") w konfiguracji powiązanej z nowym oddziałem.
Prosty git checkout -b
nie byłoby ustawić coś, i stworzyć czysto lokalnym oddziałem (bez śledzenia upstream oddział do zdalnego repo)
Różnica polega na tym, że repo start
ustawia remote
i merge
właściwości oddziale wewnątrz .git/config:
[branch "YOUR_BRANCH_HERE"]
remote = aosp
merge = master
Bez nich repo nie będą wiedzieć, jak prawidłowo przesłać zmiany po uruchomieniu repo upload
później i będzie działać tak, jakby twój nowy oddział po prostu nie istnieje.
(Jest też trochę logiki tam, który pozwala tworzyć nowy oddział dla każdego projektu w repo równocześnie z --all
, ale to jest po prostu rzeczą wygoda.)
Dzięki za odpowiedzi, VonC, pomyślałem, nie miał być czymś innym między 2. –