Знам как да създам нов клон, който да проследява отдалечени клонове, но как да накарам съществуващ клон да проследява отдалечен клон?
Знам, че мога просто да редактирам файла .git/config
, но ми се струва, че трябва да има по-лесен начин.
Можете да направите следното (ако приемем, че сте се отметнали от master и искате да се прехвърлите към отдалечен клон master):
Настройте 'отдалечен', ако вече го нямате
git remote add origin ssh://...
Сега конфигурирайте главното устройство, за да знае да проследява:
git config branch.master.remote origin
git config branch.master.merge refs/heads/master
И изтласкайте:
git push origin master
Може да ви бъде полезен инструментът git_remote_branch
. Той предлага прости команди за създаване, публикуване, изтриване, проследяване & преименуване на отдалечени клонове. Една хубава функция е, че можете да поискате от командата grb
да обясни какви git команди ще изпълни.
grb explain create my_branch github
# git_remote_branch version 0.3.0
# List of operations to do to create a new remote branch and track it locally:
git push github master:refs/heads/my_branch
git fetch github
git branch --track my_branch github/my_branch
git checkout my_branch
Редактирането на .git/config
е вероятно най-лесният и бърз начин. Така или иначе, това правят командите на Git за работа с отдалечени клонове.
Ако не искате да бъркате във файла на ръка (а това не е толкова трудно), винаги можете да използвате git config
, за да го направите... но пак ще редактирате файла .git/config
, така или иначе.
Разбира се, има начини за автоматично проследяване на отдалечен клон при използване на git checkout
(например чрез подаване на флага --track
), но тези команди работят с нови клонове, а не със съществуващи.