“git push”可以工作,但“@{push}”给出了错误“无法解决”

“git push”可以工作,但“@{push}”给出了错误“无法解决”,git,Git,我正在尝试使用{push}符号。我有遥控器。如果我使用git push-v,它会正常工作,并打印: Pushing to git@github.com:<my-repo> git rev parse-symbolic full name@{push}打印相同的无法解析错误消息 这是一个git bug,还是我的设置不正确?有什么建议吗?如果通过branch..merge设置了不同的上游分支名称,则需要将push.default设置为current,而不是默认的simple 我认为这个

我正在尝试使用{push}符号。我有遥控器。如果我使用git push-v,它会正常工作,并打印:

Pushing to git@github.com:<my-repo>
git rev parse-symbolic full name@{push}打印相同的无法解析错误消息


这是一个git bug,还是我的设置不正确?有什么建议吗?

如果通过branch..merge设置了不同的上游分支名称,则需要将push.default设置为current,而不是默认的simple

我认为这个问题源于git config push.default的默认值,它很简单

当前-推送当前分支以更新具有相同属性的分支 接收端的名称。在中央和非中央工作 工作流程

简单-在集中式工作流中,使用添加的 如果上游分支机构的名称不同,则拒绝推送的安全性 从本地的那个

当按下与您使用的遥控器不同的遥控器时 正常情况下,以电流的形式工作。这是最安全的选择,也是最好的选择 适合初学者

此模式已成为Git2.0中的默认模式

默认push.default值为simple时:


将push.default设置为current时,git diff@{push}..HEAD和git push-n可以工作。

如果通过branch..merge设置了不同的上游分支名称,则需要将push.default设置为current,而不是默认的简单名称

我认为这个问题源于git config push.default的默认值,它很简单

当前-推送当前分支以更新具有相同属性的分支 接收端的名称。在中央和非中央工作 工作流程

简单-在集中式工作流中,使用添加的 如果上游分支机构的名称不同,则拒绝推送的安全性 从本地的那个

当按下与您使用的遥控器不同的遥控器时 正常情况下,以电流的形式工作。这是最安全的选择,也是最好的选择 适合初学者

此模式已成为Git2.0中的默认模式

默认push.default值为simple时:

当push.default设置为current时,git diff{push}..HEAD和git push-n可以工作。

要使{push}工作,git必须能够自己解决所有问题。您的存储库和配置中似乎有足够的信息供Git执行此操作,因此这可能会起作用,这可能是一个bug。获取内置bug报告工具的最新Git,最后,设置一个复制器来复制它,并报告bug。如果你不能制作一个复制器,那么这个bug可能已经被修复了。为了让@{push}正常工作,你的Git必须能够自己解决所有问题。您的存储库和配置中似乎有足够的信息供Git执行此操作,因此这可能会起作用,这可能是一个bug。获取内置bug报告工具的最新Git,最后,设置一个复制器来复制它,并报告bug。如果你不能制作一个复制机,可能这个错误已经被修复了。谢谢你,将push.default设置为current可以解决这个问题。但是我不明白为什么git推送是有效的。git push愉快地推送,push.default很简单。如果一个不合格的git推送有效,那么我认为@{push}速记也应该有效。如果你的情况不是这样,那可能是一个git错误,但我想看看一些简单的复制步骤。谢谢,将push.default设置为current可以解决这个问题。但是我不明白为什么git推送是有效的。git push愉快地推送,push.default很简单。如果一个不合格的git推送有效,那么我认为@{push}速记也应该有效。如果您有一个不是这样的情况,它可能是一个git错误,但我有兴趣看到一些简单的复制步骤。
[<branchname>]@{push}, e.g. master@{push}, @{push}
       The suffix @{push} reports the branch "where we would push to" if git push were run 
       while branchname was checked out (or the current HEAD if no branchname is specified). 
$ git diff @{push}..HEAD
fatal: cannot resolve 'simple' push to a single destination

$ git push -n
fatal: The upstream branch of your current branch does not match
the name of your current branch.  To push to the upstream branch
on the remote, use
        
    git push origin HEAD:master
        
To push to the branch of the same name on the remote, use
        
    git push origin HEAD
        
To choose either option permanently, see push.default in 'git help config'.