git config default push不适用于名称不是起源的远程

时间:2018-10-06 22:54:22

标签: git key push config default

如果我以此方式添加远程存储库地址并将其设置为默认值:

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"
  

致命:没有配置的推送目标。

我认为遥控器的名称是任意的,可以将其设置为任何值而在操作上没有任何区别,但是对于git push使用的默认遥控器,它似乎没有任何参数,它必须为{{1}或我缺少东西?也许git在默认情况下会寻找origin,但是如果名称不同,我需要告诉它默认名称是其他名称吗?

如何设置与origin不同的默认远程名称?

该解决方案应该与将来创建的新分支一起使用。

1 个答案:

答案 0 :(得分:0)

仅添加新的远程URL /名称将不会使本地分支将其推送到它。

您需要通过以下方式至少使用一次该新遥控器:

flatten_no_cut([],[]).
flatten_no_cut([[A|As]|Xs],Fs) :-
    flatten_no_cut([A|As],Gs),
    flatten_no_cut(Xs,Es),
    append(Gs,Es,Fs).
flatten_no_cut([X|Xs],[X|Ys]) :-
    flatten_no_cut(Xs,Ys).

请参见“ Understanding .git/config's 'remote' and 'branch' sections

这确实将git push -u newRemoteName myBranch 设置为branch.myBranch.remote,然后启用了简单的newRemoteName

第一次推送之所以成功,是因为它默认为一个远程名称(按照惯例)为“ git push”。 参见git push

  

当命令行未使用origin参数指定在何处推送时,将参考当前分支的<repository>配置来确定在何处推送。
  如果缺少该配置,则默认为branch.*.remote