Я створюю нову філію в Git:
git branch my_branch
Штовхати його:
git push origin my_branch
Тепер скажіть, що хтось вніс деякі зміни на сервері, і я хочу вийти з нього origin/my_branch
. Я згоден:
git pull
Але я отримую:
You asked me to pull without telling me which branch you
want to merge with, and 'branch.my_branch.merge' in
your configuration file does not tell me, either. Please
specify which branch you want to use on the command line and
try again (e.g. 'git pull <repository> <refspec>').
See git-pull(1) for details.
If you often merge with the same branch, you may want to
use something like the following in your configuration file:
[branch "my_branch"]
remote = <nickname>
merge = <remote-ref>
[remote "<nickname>"]
url = <url>
fetch = <refspec>
See git-config(1) for details.
Я дізнався, що я можу змусити це працювати з:
git branch --set-upstream my_branch origin/my_branch
Але навіщо мені це робити для кожної створеної нами гілки? Хіба не очевидно , що якщо я натискаю my_branch
на origin/my_branch
, то я хотів би, щоб тягнути origin/my_branch
в my_branch
? Як я можу зробити це поведінкою за замовчуванням?
--set-upstream
опція застаріла. Ви повинні використовувати --track
або --set-upstream-to
замість цього.
--set-upstream
застарілий, то, можливо, git devs повинен видалити його з довідкового повідомлення, яке відображається, коли ви запускаєте git push
без параметрів і не встановлено верхній потік?
git branch --set-upstream
застарілий. git push --set-upstream
не.
branch.autosetupmerge
означає, що конфігурація висхідної лінії для нової гілки автоматично встановлюється лише при створенні гілки з гілки віддаленого відстеження (наприклад<remote-name>/<branch-name>
) (див. Git-config (1) ). Ви, ймовірно, створюєте свої філії з існуючих місцевих гілок. Якщо ви ефективно розгалужуєтесь безпосередньо від кінця віддаленої гілки (незважаючи на те, що перебуваєте на локальній гілці), тоді ви можете використовуватиgit branch my_branch <remote-name>/<branch-name>
для автоматичного налаштування конфігурації вище за потоком.