在push代码时,遇到这种问题
Updates were rejected because the tip of your current branch is behind
(更新被拒绝,因为当前分支的落后与远程分支)
解决办法
1.push前先将远程repository修改pull下来,然后在推送:
git pull origin master
git push -u origin master
- 使用强制push的方法:
git push -u origin master -f
这样会导致远程仓库的修改丢失,一般不可取。
- 若不想合并远程和本地修改,可以先创建新的分支:
git branch [name]
#然后push
git push -u origin [name]
衍生问题
使用上述方法在pull时可能会遇到如下问题:
问题1. git pull 提示这个错误,[fatal: refusing to merge unrelated histories],
中文意思就是拒绝合并不相关的历史。
解决方案
git pull origin master --allow-unrelated-histories
该选项可以合并两个独立启动仓库的历史
以上是将远程仓库的文件拉取到本地仓库了,紧接着将本地仓库的提交推送到远程github仓库
git push <远程主机名> <本地分支名>:<远程分支名>
# 常用的举例就是:
git push origin master:master
问题2. git pull 提示这个错误 `There is no tracking information for the current branch(没有当前分支的跟踪信息)
这是因为本地分支和远程分支没有建立联系,使用下面命令查看:
# 可以查看本地分支和远程分支的关联关系
git branch -vv
# 查看远程仓库
git remote -v
解决办法:
方法一:指定远程master
git pull origin master
方法二:
先指定本地master到远程的master,然后再去pull
git branch --set-upstream-to=origin #远程分支的名字 本地分支的名字
git pull