Git ! [rejected] master -> master (fetch first)

什么情況

今天(2020-04-09)維護一個iOS項目,增加完需求走完測試流程后準(zhǔn)備在gitlab上做個版本,結(jié)果提交遇到如下問題:

! [rejected] master -> master (fetch first)

開始以為是倉庫沒有權(quán)限,于是登錄gitlab查看并不是權(quán)限的問題。
這個項目有些時日沒有改動了,沒有在意改動的問題,于是:

  1. git pull
  2. git diff
    改完有差異的文件后,clean Xcode工程,提交更改再push還是不行。

modified: ...... \*/UserInterfaceState.xcuserstate

才發(fā)現(xiàn)ignore文件居然沒有...于是添加了Objective-C的忽略文件。
各種ignore文件,點擊這里找

怎么做的

  1. 找到后創(chuàng)建ignore文件:vim .gitignore把相應(yīng)的模板粘貼進去后保存.
    或者touch .gitignore然后使用文本編輯器也可以。
  2. 忽略文件中追加以下內(nèi)容并保存:

xcuserdata/
*.xcbkptlist
*.xcuserstate
project.xcworkspace
xcuserdata
UserInterfaceState.xcuserstate
project.xcworkspace/
UserInterface.xcuserstate

3.提交忽略文件
當(dāng)前所在分支和遠程一一對應(yīng)的話pushpull不用指定分支
git add . ; git commit -m "fuck ignore file" ; git push
如果不放心文件有沒有都改完,可以 git pull ; git diff再查一遍修改完提交。

額外

  1. 回退到某個提交節(jié)點
  • 查詢所有提交點:git reflog
  • 回退:git reset --hard HEAD@{n}這個n就是上面命令列舉出的數(shù)字
  1. 清除緩存區(qū)文件
  • git rm -r --cached . 不要忘記這個點【.】
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容