我想改变Git的默认远程分支目标,这样我就可以

git push

而不是:

git push upstream

目前,这是设置为原始远程,我想将其设置为不同的远程。

我试图删除原(克隆)远程

git remote rm origin

把原来的遥控器弄掉了。但不能解决git推送的问题。我仍然得到:

fatal:没有配置推送目标。对象中指定URL 命令行或配置远程存储库使用…

我还试着玩:

git remote set-url --push myfork origin

和其他选项,但似乎没有工作(可能是因为我删除了起源远程太快?)

下面的答案我试着改变:

git config push.default upstream (or matching)

但这两种方法都不奏效。


当前回答

要更改哪个上游远程“连接”到您的分支,请使用带有上游配置标志的git branch命令。

首先确保远程存在:

Git远程-vv

为当前(签出)分支设置首选的远程:

Git分支——set-upstream-to <remote-name>

验证分支是否使用正确的上游远程设置:

git 分支 -vv

其他回答

要更改哪个上游远程“连接”到您的分支,请使用带有上游配置标志的git branch命令。

首先确保远程存在:

Git远程-vv

为当前(签出)分支设置首选的远程:

Git分支——set-upstream-to <remote-name>

验证分支是否使用正确的上游远程设置:

git 分支 -vv

就像医生说的:

当命令行没有使用<repository>参数指定推入位置时,请使用branch.*。参考当前分支的远程配置来确定推送位置。如果缺少配置,则默认为origin。

Git remote set-url——push origin应该可以工作,正如你提到的,但你需要显式地提供url,而不是一个替代的远程名称,例如。

git remote set-url --push origin git@github.com:contributor/repo.git

您可以通过执行git remote -v来确认这是否有效。如。

λ ~/go/src/github.com/stretchr/testify/ master git remote -v
fork    git@github.com:contributor/testify.git (fetch)
fork    git@github.com:contributor/testify.git (push)
origin  git@github.com:stretchr/testify (fetch)
origin  git@github.com:contributor/testify.git (push)

使用Git 2.3.2…

git branch --set-upstream-to myfork/master

现在状态,推和拉都指向myfork远程

您可以简单地使用这个命令一次性更改分支的默认远程

git push -u <remote_name> --all