作为开发过程的一部分,我创建了一个本地分支,然后开始更改代码并提交文件。当我第一次推送更改时,会在远程站点上创建一个新分支。下次我对本地分支中的代码进行更改时,我想将这些更改推送到远程分支。这里的问题是,在推送本地更改之前,master已经向前推进了一些提交,当我尝试执行推送时,我收到一条消息,指出远程分支在master之后,推送被拒绝。我该怎么做?
答案 0 :(得分:1)
由于您正在处理的分支的远程版本优先于您的本地版本,因此您首先
git pull origin yourBranch
pull
时会收到警告,或者通过git status
git commit -am "msg"
git push origin yourBranch
此外,请确保您当前的分支(HEAD
)为yourBranch
,否则您可能会修改其他分支,请git branch
进行检查,并确认您的分支是活动分支。
只要远程yourBranch
未被某人提起master
分支,您就可以独立于master
yourBranch
工作
答案 1 :(得分:0)
我认为您正在使用git push
来推送您的代码。这会导致git推送所有分支,包括远程版本后面的主分支。要仅推送您的开发分支,请使用git push origin <branch name>
或git push origin HEAD
来推送您当前的分支。
注意:我假设您的遥控器被称为“原点”。
答案 2 :(得分:0)
运行git stash
将本地更改保存到堆栈。
git stash
git checkout master
git stash pop /*or git apply (pop removes stash)*/
合并您的更改并再次提交:
git commit -am "msg"
git push origin master