在push代碼時山叮,遇到這種問題
Updates were rejected because the tip of your current branch is behind
(更新被拒絕蹬屹,因為當(dāng)前分支的落后與遠程分支)
解決辦法
1.push前先將遠程repository修改pull下來套利,然后在推送:
git pull origin master
git push -u origin master
- 使用強制push的方法:
git push -u origin master -f
這樣會導(dǎo)致遠程倉庫的修改丟失,一般不可取潜秋。
- 若不想合并遠程和本地修改吱七,可以先創(chuàng)建新的分支:
git branch [name]
#然后push
git push -u origin [name]
衍生問題
使用上述方法在pull時可能會遇到如下問題:
問題1. git pull 提示這個錯誤,[fatal: refusing to merge unrelated histories]指郁,
中文意思就是拒絕合并不相關(guān)的歷史。
解決方案
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(沒有當(dāng)前分支的跟蹤信息)
這是因為本地分支和遠程分支沒有建立聯(lián)系闲坎,使用下面命令查看:
# 可以查看本地分支和遠程分支的關(guān)聯(lián)關(guān)系
git branch -vv
# 查看遠程倉庫
git remote -v
解決辦法:
方法一:指定遠程master
git pull origin master
方法二:
先指定本地master到遠程的master,然后再去pull
git branch --set-upstream-to=origin #遠程分支的名字 本地分支的名字
git pull