我在master分支上切出分支A后(远程仓库有A分支),我现在master修改了文件master.txt,然后我切到A分支后修改了A.txt文件。
此时我在A分支上想push到远程仓库上:git push origin A,但是此时提醒我远程分支的版本领先‘Updates were rejected because the tip of your current branch is behind’,让我先pull一下?请我这个版本领先是什么意思?怎么定义的呢?
我在master分支上切出分支A后(远程仓库有A分支),我现在master修改了文件master.txt,然后我切到A分支后修改了A.txt文件。
此时我在A分支上想push到远程仓库上:git push origin A,但是此时提醒我远程分支的版本领先‘Updates were rejected because the tip of your current branch is behind’,让我先pull一下?请我这个版本领先是什么意思?怎么定义的呢?
代码说明下
const remote = ['eff123', '12fr4', 'edf42']
const local = ['eff123', '12fr4']
function isBehind(remote, local) {
return local.indexOf(remote[remote.length -1]) === -1
}
isBehind(remote, local) // true
这个分支,应该不单是你一个人在操作吧?应该是有人在你push之前,提交了一个版本,git执行push操作的时候,都会查看你本地的版本是否是最新的,不是最新的,都会先让你拉取远程仓库的代码,然后再push。
5 回答2.8k 阅读
3 回答2.6k 阅读
3 回答970 阅读
你使用命令是将本地的A分支推送到远程的A分支,本地分支并未完全包含远端分支的改动,即远端A有的代码,本地A没有,基于远端库版本优先原则,系统就提示远端A领先,需要先把远端代码拉下来和本地合并后(因为有可能有代码冲突,需要push代码的人来解决)才允许push。