關於Git你有所不知
我今天要來發一篇有營養的文章
今天搞定這個問題想留個紀錄
好的 情境如下:
>你今天在GitHub上開了個新專案
同時也在本機用Android Studio上開了專案
GitHub上初始化的專案只有一個檔案: readme.md
Andriod Studio上的專案有一堆Android專案需要的檔案
然後你想把初始化後的專案推上GitHub
於是你認為,這還不簡單嗎?
用Androi Studio創好本機的git並commit
然後:
`git remote add origin https://github.com/username/projectname.git`
`git push origin master`
結果你得到:
>! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/username/projectname.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
於是你發現應該先pull把GitHub上的檔案跟本機的檔案merge
於是:
```git pull origin master```
結果得到:
>fatal: refusing to merge unrelated histories
這是什麼意思呢?
原來,從 git 2.9.0 開始預設行為不允許合併沒有共同祖先的分支
需要加上 `--allow-unrelated-histories` 選項才不會出現這個錯誤
也就是:
```git pull origin master --allow-unrelated-histories```
成功pull了!!
接下來就可以push:
```git push origin master```
大功告成~~
2018-05-26 18:50:53
留言
Last fetch: --:--
現在還沒有留言!