我想改变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)

但这两种方法都不奏效。


当前回答

就像医生说的:

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

其他回答

如果你使用git push origin -u localBranchName:remoteBranchName,然后依次执行git push命令,你会得到origin不存在的错误,然后执行以下步骤:

Git remote -v

看看有没有我不在乎的遥控器。 用git远程删除名字

Git配置

寻找可能存在的旧遥控器的迹象。 寻找pushdefault:

[remote]
  pushdefault = oldremote

更新旧远程值并保存。

Git push现在应该工作了。

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

git push -u <remote_name> --all

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

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

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

我刚刚发现的另一个解决这个问题的技术(即使我先删除了origin,这似乎是一个错误)是直接操纵git配置:

git config remote.origin.url url-to-my-other-remote