我想改变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 config——edit *在git配置文件中:

[branch "master"]
remote = origin # <--- change the default origin here

其他回答

在git的手册中,你会发现以下内容:

remote.pushDefault 默认情况下要推到的遥控器。覆盖分支。<名称>。所有分支的远程,并被分支覆盖。用于指定分支的pushRemote。

使用Git 2.3.2…

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

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

可以使用git push -u <remote_name> <local_branch_name>来设置默认的上游。更多细节请参见git push的文档。

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 config——edit *在git配置文件中:

[branch "master"]
remote = origin # <--- change the default origin here