2013-02-21 9 views
5

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

2

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)

+0

Dzięki za odpowiedzi, VonC, pomyślałem, nie miał być czymś innym między 2. –

4

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.)

Powiązane problemy