第一次使用git push -u origin master失敗

Tawei Lu
3 min readOct 1, 2017

--

先照著課程走一次

建立一個新的資料夾GitPush2GitHubTest
建立test.rb檔案並且下第一個commit -m “First Commit”
去github 建立一個新的repo

然後我就手賤點下了initialize this repo with README

(自動init並且加上README.md檔案 就是這一步導致錯誤…..)

建好的畫面
這是建好的remote url
使用git retmote add https://github.com/biki3507/GitPush2GitHubTest 加入遠端位置 再用git remote -v 確認
用git push -u origin master 就發生錯誤了

其實錯誤訊息有寫 beacuse remote contains work that you do not have local.

只是沒有那麼直白 你本地端跟遠端沒有同步

什麼意思呢?

遠端開始的版號是A1 而local建立的第一個init的版號是B1

只有神才知道哪個才是最後的版本(死

所以為了讓整個git系統知道誰先誰後 必須先把上面的版本抓到本地端 然後將B1 放到 A1之後 讓git系統知道 這一個分支最後應該變成A1 -> B1

至於pull and merage 等方法之後再敘述吧

這邊直接使用 git push -f origin master 使用強制的方式 讓remot也變成只有B2的版本

為什麼有些人不會遇到這個問題呢? 因為沒有讓github自動建立README檔案的話 其實並不會幫使用者做第一次的init所以就是一個連master都沒有的git系統 自然就不會有A1的存在囉~

這樣就推成功了
如果有自動建立README檔案 建好之後 就是有1 commit 1 branch 你發現了嗎?
沒有自動建立README 就不會有任何 commit & branch

好了~結案!

--

--