Git push不创建远程分支,推送到master

holgip5t  于 2023-04-28  发布在  Git
关注(0)|答案(3)|浏览(250)

我遇到了一个问题,我试图将一个本地分支推送到一个远程分支,这样我就可以创建一个拉取请求到主分支。我正在使用:
git push origin brachname
这似乎失败了,而是推送到主远程分支(这不是很好)。如果我显式引用本地和远程分支(即:branchname:branchname)它工作得很好。看起来要么是我的git配置有问题,要么是我创建本地分支的方式有问题。
任何帮助将不胜感激。

lpwwtiir

lpwwtiir1#

看起来您正在**master**分支上,并试图将其推送到另一个分支。

如何能够推送到不同的分支名称?

设置/更新跟踪分支

git〈1.8:
git branch --set-upstream branch_name remote/branch_name
git〉1.8:
git branch branch_name --set-upstream-to remote/branch_name
您当前的追踪信息在您的.git/config文件中

新建一个新的分支,名称为所需名称

git checkout -b <new_branch>
git push origin <new_branch>

git会将你当前的分支名称推送到远程分支(假设你没有更改跟踪分支)

重命名分支(跟踪分支也会更新)

或者你可以使用-u开关:
git branch branch_name -u remote/branch_name

xghobddn

xghobddn2#

试试下面的

git push -u origin <branch_name>

如果您有权限将本地分支推送到远程存储库,它应该通过

aelbi1ox

aelbi1ox3#

在将一个新的和最近拉取的分支的本地示例从develop重命名为origin-develop后,我遇到了类似的问题。分支是从远程存储库origin中获取的。
在重命名之后,我给出的一个通用的push命令总是试图推送到origin/master。即,

$ git push
To github.com:<USER>/<REPO>.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'github.com:<USER>/<REPO>.git'

我尝试使用git branch origin develop,但这并没有解决问题。相反,我得到了错误

$ git push origin develop
error: src refspec develop does not match any
error: failed to push some refs to 'github.com:<USER>/<REPO>.git'

使用git remote show origin命令可以让我看到,虽然本地分支origin-develop被正确设置为pull(可能是因为我使用pull命令创建了本地分支),但它缺少push设置。

Local branches configured for 'git pull':
<snip>
    origin-develop                      merges with remote develop
<snip>
 Local refs configured for 'git push':
<snip>

我能够通过使用命令修复我的问题

git push origin origin-develop:develop

这是可行的,但我不认为它 * 解决 *,因为我必须使用这个命令每次我想将这个分支推到远程。如果我只使用git push,我会得到! [rejected] master -> master (non-fast-forward)错误。
我的理解是,我的pull命令设置了遥控器用于拉,但不是推。因为没有定义远程推送,所以默认推送到master
我不明白的是如何永久更改我的配置,以便git push按预期工作。我试过使用git branch -u,但得到了相同的行为(i.即不能推动)。我想知道push -all选项现在是默认的,错误消息独立于分支origin-develop

相关问题