Я нажимаю на два удаленных репозитория, когда делаю git commit all
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = [email protected]:kkk_pro/tst1.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[remote "all"]
url = [email protected]:kkk_pro/tst2.git
fetch = +refs/heads/*:refs/remotes/all/*
pushurl = [email protected]:kkk_pro/tst1.git
pushurl = [email protected]:kkk_pro/tst2.git
Но когда я набираю git push
, git нажимает только на tst1
? Почему? Как попросить git использовать all
в качестве пульта по умолчанию?
origin - это пульт по умолчанию, просто переместите его туда.
Из документов:
Когда в командной строке не указывается, куда отправлять с аргументом, выполняется консультация с удаленной конфигурацией branch. *. Для текущей ветки, чтобы определить, куда отправлять. Если конфигурация отсутствует, по умолчанию используется origin.
But when I type git push git pushes only to tst1
До Git версии 2 каждый раз, когда вы запускали git push
без указания удаленных ветвей все ваши местные, передавались на удаленный.
Начиная с git v2, вам нужно указывать источник и удаленный каждый раз, когда вы нажимаете.
Всякий раз, когда вы набираете git push
без удаленного и ветвления, git отправляет ветку в исходную ветку по умолчанию.
Вы можете установить ветку по умолчанию на пульте дистанционного управления для push, используя:
git push --set-upstream <origin> <branch>
Из вашей конфигурации:
[branch "master"]
remote = origin
Вы можете видеть, что ваш мастер настроен на отправку на origin
, который является tst1
.
git remote set-url --add --push <origin_name> [email protected]:.../a.git
git remote set-url --add --push <origin_name> [email protected]:.../b.git
git remote show origin