使用裸Git repo的推送失败
我有一个远程裸回购使用裸Git repo的推送失败,git,git-push,git-remote,git-bare,Git,Git Push,Git Remote,Git Bare,我有一个远程裸回购master和一个本地分支cloud,我已将其设置为跟踪它 git branch cloud -u amazon/master 但是 导致 致命:当前分支的上游分支不匹配 当前分支的名称 我尝试了a中建议的解决方案(我可以说,这是我在上面所做的),但它得到了相同的错误 我如何配置跟踪,以便仅凭git push就能推送到远程 我的配置的相关部分: [remote "amazon"] url = ssh://ubuntu@ecXXXXXXXX.us-west-2
master
和一个本地分支cloud
,我已将其设置为跟踪它
git branch cloud -u amazon/master
但是
导致
致命:当前分支的上游分支不匹配
当前分支的名称
我尝试了a中建议的解决方案(我可以说,这是我在上面所做的),但它得到了相同的错误
我如何配置跟踪,以便仅凭git push
就能推送到远程
我的
配置的相关部分:
[remote "amazon"]
url = ssh://ubuntu@ecXXXXXXXX.us-west-2.compute.amazonaws.com/home/ubuntu/mlcode.git
fetch = +refs/heads/*:refs/remotes/amazon/*
[branch "cloud"]
remote = amazon
merge = refs/heads/master
运行
git config push.default upstream
会给你想要的行为
根据,版本2.0中的默认行为是
simple
-在集中式工作流中,如果上游分支机构的名称与本地分支机构的名称不同,则可以像上游分支机构一样工作,增加安全性,拒绝推送
当按下一个不同于您通常从中拔出的遥控器的遥控器时,以电流的方式工作。这是最安全的选择,适合初学者
相反,上游
模式操作如下
上游
-将当前分支推回到其更改通常集成到当前分支的分支(称为@{上游}
)。只有当您推送到通常从中提取的同一存储库(即,中心工作流)时,此模式才有意义
使用与您类似的存储库
$ git branch
* cloud
master
我袖子里什么都没有
$ git config --unset push.default
尝试推送也会出现同样的错误。存在详细模式(-v
),这样您就可以看到git在做什么
$ git push -v
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 amazon HEAD:master
To push to the branch of the same name on the remote, use
git push amazon cloud
To choose either option permanently, see push.default in 'git help config'.
配置更改后
$ git config push.default upstream
你得到了问题中描述的行为
$ git push -v
Pushing to .../amazon/
To .../amazon/
= [up to date] cloud -> master
updating local tracking ref 'refs/remotes/amazon/master'
Everything up-to-date
在git push
@ElpieKay之前,尝试git-config-push.default-upstream
试试git-push.default
,git-config-help
@ElpieKay:我看不到任何关于“如何在这里工作”的信息。当分支名称不匹配时(您的分支与远程存储库中的分支)使用命令的“git-push-REPO-MYBRANCH:THEIRBRANCH”形式。
$ git push -v
Pushing to .../amazon/
To .../amazon/
= [up to date] cloud -> master
updating local tracking ref 'refs/remotes/amazon/master'
Everything up-to-date