По умолчанию я бы хотел, чтобы 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
И это будет работать.