无法将更改推送到git中的远程分支

无法将更改推送到git中的远程分支,git,Git,作为开发过程的一部分,我创建了一个本地分支,然后开始对代码进行更改并提交文件。当我第一次推送更改时,将在远程站点上创建一个新分支。下次我对本地分支中的代码进行更改时,我希望将这些更改推送到远程分支。这里的问题是,在我推送本地更改之前,主机已经向前移动了一些提交,当我尝试推送时,会收到一条消息,远程分支在主机后面,推送被拒绝。如何做到这一点?由于您正在处理的分支的远程版本领先于本地版本,因此您首先 我们必须改变现状, git从您的分支中提取原点 作为一个警告,您可能在这一点上有一些冲突,如果是

作为开发过程的一部分,我创建了一个本地分支,然后开始对代码进行更改并提交文件。当我第一次推送更改时,将在远程站点上创建一个新分支。下次我对本地分支中的代码进行更改时,我希望将这些更改推送到远程分支。这里的问题是,在我推送本地更改之前,主机已经向前移动了一些提交,当我尝试推送时,会收到一条消息,远程分支在主机后面,推送被拒绝。如何做到这一点?

由于您正在处理的分支的远程版本领先于本地版本,因此您首先

  • 我们必须改变现状,
    git从您的分支中提取原点
    • 作为一个警告,您可能在这一点上有一些冲突,如果是这样,您需要解决它们,然后执行提交,否则您将提交冲突的文件。当您执行
      拉取
      ,或通过执行
      git status
  • 在上面提交您的更改,
    git提交-am“msg”
  • 最后推到原点;
    git推送原始分支机构
此外,请确保您当前的分支(
HEAD
)是
yourbrange
,否则您可能会修改其他分支,请通过
git branch
进行检查,并确认您的分支是活动分支


只要远程
yourBranch
没有被人拉入
master
分支,您就应该能够在
yourBranch
中独立于
master
工作,我想您是在使用
git push
来推送代码。这导致git推送所有分支,包括远程版本后面的主分支。要只推送您的开发分支,请使用
git-push-origin
或只推送当前分支的
git-push-origin-HEAD


注意:我假设您的远程设备名为“origin”。

运行
git stash
将本地更改保存到堆栈中

git stash
git checkout master
git stash pop  /*or git apply (pop removes stash)*/
合并更改并再次提交:

git commit -am "msg"
git push origin master

提交并将更改推送到远程服务器
git commit-am“Message”
git推送源磁头
。您是否收到任何错误?使用“git Push origin”推送到您的分支实际上,是远程“master”已转发,我的远程分支仍在本地分支之后。但这不会影响您的分支,当您推送到分支的远程分支时,您可以独立于主分支工作