git踩坑綜合症

透明技術人發表於2018-12-13

使用git真的是讓我受盡了折磨,不寫個集合都覺得對不起自己踩過的那些坑啊

  1. 錯誤一:failed to push some refs to git
    $ git push -u origin master

    To git@github.com:yangchao0718/cocos2d.git

    ! [rejected]        master -> master (non-fast-forward)
    

    error: failed to push some refs to `git@github.com:yangchao0718/cocos2d.git

    hint: Updates were rejected because the tip of your current branch is behin

    hint: its remote counterpart. Integrate the remote changes (e.g.

    hint: `git pull …`) before pushing again.

    出現錯誤的主要原因是github中的README.md檔案不在原生程式碼目錄中

    可以通過如下命令進行程式碼合併【注:pull=fetch+merge]

    git pull –rebase origin master

    執行上面程式碼後可以看到原生程式碼庫中多了README.md檔案

    此時再執行語句 git push -u origin master即可完成程式碼上傳到github

2.錯誤二:You have not concluded your merge. (MERGE_HEAD exists)
Git本地有修改如何強制更新
本地有修改和提交,如何強制用遠端的庫更新更新。我嘗試過用git pull -f,總是提示 You have not concluded your merge. (MERGE_HEAD exists)。
我需要放棄本地的修改,用遠端的庫的內容就可以,應該如何做?傻傻地辦法就是用心的目錄重新clone一個,正確的做法應該是:

git fetch –all
git reset –hard origin/master
git fetch 只是下載遠端的庫的內容,不做任何的合併git reset 把HEAD指向剛剛下載的最新的版本