需要更新GIT';硕士';在我能够推到GIT';分行';
我有一个用于开发的简单GIT环境设置。一个是从远程主机克隆的主机,另一个是分支(也存在于远程主机上)。我通常在分支上工作,然后当我想要推动我的更改时,我执行通常的Git命令序列,如:需要更新GIT';硕士';在我能够推到GIT';分行';,git,Git,我有一个用于开发的简单GIT环境设置。一个是从远程主机克隆的主机,另一个是分支(也存在于远程主机上)。我通常在分支上工作,然后当我想要推动我的更改时,我执行通常的Git命令序列,如: git pull(确保所有内容都是最新的) git添加 git提交-m“消息” git推送 当我执行“git push”时,会收到一条消息,说明: d96001d..d1cf61c branch_release -> branch_release [rejected] master ->
d96001d..d1cf61c branch_release -> branch_release
[rejected] master -> master (non-fast-forward)
error: failed to push some refs to '____________'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. If you did not intend to push that branch, you may want to
hint: specify branches to push or set the 'push.default' configuration variable
hint: to 'simple', 'current' or 'upstream' to push only the current branch.
为了解决这个问题,我像这样切换分支
git checkout master.
这给我的主人带来了一大群文件,前奏曲的前缀是“M”,意思是它们被修改了。那我会的
git checkout branch_release
它似乎也将相同的文件集带到了我的主文件中,我认为这不应该发生,因为我以前在这个分支上做过GIT拉
我的问题是,在我推送它的一个分支之前,我是否也需要根据设计更新master?如果没有,我是如何错误地设置的,我应该做什么来确保我只需要更新GIT分支。如果你想解决非快速forword错误,你必须在推之前拉。错误表示远程主机提交了您的主机没有的内容 如果只执行推送操作,而不指定分支,则会推送所有分支。您可以指定默认推送分支[2]或通过命令[1]指定它 [1]通过push命令参数指定它 因此,您可能需要(使用特定分支推送) [2]定义默认推送分支 我认为这可能会有所帮助:
git config--global push.default simple
将是git 2.0中新的“默认值”,对于那些刚接触git的人,甚至是某种“中级”用户来说,这可能是一个更好的建议。(但是,就像冰激凌的味道或者食物中要放多少大蒜一样,“最好的答案”是味道的问题。)好吧,以前也没关系,我只是想我应该加上关于simple
的注释。现在它有一个技术错误,因为Git2.0还没有推出,但每当Git2.0推出时,更新确实会解决它!:-)
git push origin branch_release