Jak widać, zarówno git --track
, jak i --set-upstream-to
modyfikują gałąź, aby stała się gałęzią śledzącą (lub wyższą). Ale gdzie jest subtelna różnica, której nie mogę pojąć. W --track
rekordy „tory zdalnego oddziałów lokalnych”:Jaka jest różnica między git "--track" i "--set-upstream-to"?
$ git checkout foo -b
$ git branch --track origin/retarget
Branch origin/retarget set up to track local branch foo.
$ cat .git/config
[branch "origin/retarget"]
remote = .
merge = refs/heads/foo
Podczas gdy --set-upstream-to
Rejestry „lokalne utworów Branża zdalny oddział”:
$ git checkout foo -b
$ git branch --set-upstream-to origin/retarget
Branch foo set up to track remote branch retarget from origin.
$ cat .git/config
[branch "foo"]
remote = origin
merge = refs/heads/retarget
Jaka jest różnica między tym dwa? Byłem pewien, że "gałąź śledzenia" jest prostą koncepcją z dodatkowym znacznikiem upstream
wewnątrz gałęzi, który śledzi pozycję określonego oddziału w repozytorium remote
. Ale wydaje się, że jest to o wiele bardziej skomplikowane?