GIT Config Push по умолчанию не работает для удаленного с именем, отличным от источника - PullRequest
0 голосов
/ 07 октября 2018

Если я добавляю адрес удаленного хранилища таким образом и устанавливаю его по умолчанию:

git init .

remoteName="origin"
dstUrl='location-of-initialized-bare-repository'
git remote add "$remoteName" "$dstUrl"

git config push.default current

touch masterfile
git add masterfile
git commit -m 'first'
git push


git checkout -b feature
touch feautrefile
git add feautrefile
git commit -m 'second'
git push

все работает хорошо.но когда я установил имя удаленного по-другому, т.е.:

remoteName="something"

fatal: Нет настроенного пункта назначения push.

Я подумал, что имя для удаленного было произвольным и может бытьустановить любое значение без какой-либо разницы в действии, но кажется, что для пульта по умолчанию, используемого для git push без каких-либо параметров, это должно быть origin или я что-то упускаю?Возможно, git ищет origin по умолчанию, но в случае другого имени я должен сказать ему, что другое имя является именем по умолчанию?

как установить имя по умолчанию для удаленного имени иначе, чем origin?

Решение должно работать с новыми ветками, созданными в будущем.

1 Ответ

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

Простое добавление нового удаленного URL / имени не позволит локальной ветви перейти на него.

Вам необходимо использовать этот новый пульт хотя бы один раз с:

git push -u newRemoteName myBranch 

См. Разделы " Понимание * .git/config '' remote 'и" branch ""

, которые устанавливают branch.myBranch.remote в newRemoteName, что затем позволяетgit push на работу.

Первое нажатие сработало, поскольку по умолчанию используется удаленное устройство с именем (по соглашению) "origin".
См. git push

Когда в командной строке не указывается, куда нажимать с аргументом <repository>, для определения того, куда нажимать, запрашивается конфигурация branch.*.remote для текущей ветви.
Если конфигурация отсутствует, по умолчанию используется значениеorigin.

...