2013-05-03 13 views
11

Jestem nowy w Git, chcę poznać różnicę między dwoma poleceniami.Używanie `git checkout -b` zi bez punktu początkowego oddziału

`git checkout -b <branch-name>` 
`git checkout -b <branch-name> origin/master` 

Jeśli wykonuję pierwsze polecenie, w jaki sposób Git tworzy gałąź? Czy oddział zostanie utworzony z lokalnego wzorca lub zdalnego wzorca? Proszę pomóż mi.

Odpowiedz

8

Jeśli nie określisz punktu początkowego, nowy oddział zostanie utworzony z obecnie wyewidencjonowanego (bieżący HEAD).

git-checkout:

git checkout -b|-B <new_branch> [<start point>]

Określanie -b powoduje nowy oddział ma zostać utworzony jakby git branch (1) nazywano a następnie wyrejestrowany.

I git-branch:

[...] Druga forma Komenda stwarza nowego szefa oddziału o nazwie <branchname> który wskazuje aktualną HEAD lub <start-point> jeśli podano.

+0

Więc w tym przypadku 'git checkout -b origin/master', czy zrobiłem git push, czy to pójdzie do mojego zdalnego pochodzenia/wzorca? – Mojoy

+0

Domyślnie, jak napisano w dokumentach, do których dowiązałem, tak, gdy punktem początkowym jest zdalna gałąź, będzie ona śledzona. – Mat

+2

@annonymous, zawsze możesz sprawdzić, jak skonfigurowane są twoje lokalne oddziały śledzące WRT twoje odległe oddziały, wykonując 'git remote -v show origin' – kostix