ветка git track по умолчанию - PullRequest
       40

ветка git track по умолчанию

0 голосов
/ 07 октября 2018

По умолчанию я бы хотел, чтобы git всегда отслеживал ветвь на origin с тем же именем, если только я специально не установил восходящую ветвь на что-то другое, для push и pull.Но это не то поведение, которое я вижу.

Когда я запускаю следующее:

$ git branch -b foo
$ git push
Everything up-to-date

Но моя новая ветвь foo не существует, это Bitbucket, если я не добавлю удаленный иперейти к команде с git push origin foo.И даже тогда он начнет отслеживать для push, но не для pull.

user@host [~/git/repository] <foo> $ echo 'test' >> test.txt
user@host [~/git/repository] <foo> $ git add test.txt
user@host [~/git/repository] <foo> $ git commit -m 'test'
[foo 376b03b] test
 1 file changed, 1 insertion(+)
 create mode 100644 test.txt
user@host [~/git/repository] <foo> $ git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 277 bytes | 277.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote:
remote: Create pull request for foo:
remote:   https://bitbucket.host.com/projects/PROJ/repos/repository/compare/commits?sourceBranch=refs/heads/foo
remote:
To ssh://bitbucket.host.com:7999/proj/repository.git
   34c6308..376b03b  foo -> foo
user@host [~/git/repository] <foo> $ git pull
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.

    git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream-to=origin/<branch> foo

user@host [~/git/repository] <foo> $

Я знаю, что могу настроить его на отслеживание как для push, так и pull с помощью git push -u origin foo,но мне интересно, можно ли установить какое-либо значение конфигурации, чтобы по умолчанию push всегда выдвигал ветку на origin с тем же именем, а pull всегда вытягивал из ветки на origin с тем же именем, чтобы я мог просто сделать это:

$ git checkout -b foo
$ #make changes
$ git commit -am 'changes'
$ git push
$ #someone else makes changes
$ git pull

И это будет работать.

1 Ответ

0 голосов
/ 08 октября 2018

Используйте current в качестве стратегии по умолчанию:

git config push.default current
...