我的分支dev_match_test
是分支origin/dev
的更新。
我要将dev_match_test
分支的本地更改发送到远程存储库,
,以便稍后可以批准将dev_match_test
合并为dev
的合并请求。
git status
命令告知:
On branch dev_match_test
Your branch is ahead of 'origin/dev' by 22 commits.
(use "git push" to publish your local commits)
但是git push
返回错误:
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:dev
To push to the branch of the same name on the remote, use
git push origin dev_match_test
尝试两个建议的选项都没有好处:
git push origin HEAD:dev
返回错误
remote: GitLab: You are not allowed to push code to protected branches on this project.
我怀疑是因为我试图将更改推送到dev
上,但我对此没有权限。相反,我想推送到dev_match_test
。
git push origin dev_match_test
只返回一条消息Everything up-to-date
,什么也不做。
问题:如何将本地更改推送到dev_match_test
分支?
答案 0 :(得分:0)
最简单的方法是简单地从当前所在的分支创建一个新分支,推送到远程,然后将新分支合并到dev中。
git checkout -b newBranchName
git push -u origin newBranchName
请注意,这不能解决分支dev_match_test无法正确推送到远程的问题。为了解决这个问题,更多信息将有所帮助。我怀疑分支dev_match_test设置为从origin / dev而不是origin / dev_match_test进行跟踪。如果您可以发送可能有用的git remote -v
输出(请隐藏URL)。
答案 1 :(得分:0)
如果收到消息“一切都是最新的”,则表示您过去所有本地提交都已被推送到远程。
只需在GitLab中创建一个新的合并请求,然后选择适当的目标(dev
)和源(dev_match_test
)分支,就可以完成所有工作。