git 怎麼有時候推不上去??
![2fdc4a7bf9ad1f74ebe521cd37b34835.png](https://i-blog.csdnimg.cn/blog_migrate/b8ad915221a3eb65288a7f0e2af92bcd.jpeg)
- Sherly 跟 Eddie 兩個人在差不多的時間都從 Git Server 上拉了一份資料下來準備進行開發。
- Sherly 手腳比較快,先完成了,於是先把做好的成果推一份上去。
- Eddie 不久後也完成了,但當他要推上去的時候發現推不上去了…
怎麼解決?
解決方法算是有兩招
第一招:先拉再推
因為你電腦裡的內容是比較舊的,所以你應該先拉一份線上版本的回來更新,然後再推一次
$ git pull --rebase
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 3 (delta 1), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/eddiekao/dummy-git
37aaef6..bab4d89 master -> origin/master
First, rewinding head to replay your work on top of it...
Applying: update index
第二招:無視規則,總之就是聽我的!
$ git push -f
Counting objects: 19, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (17/17), done.
Writing objects: 100% (19/19), 2.16 KiB | 738.00 KiB/s, done.
Total 19 (delta 6), reused 0 (delta 0)
remote: Resolving deltas: 100% (6/6), done.
To https://github.com/eddiekao/dummy-git.git
+ 6bf3967...c4ea775 master -> master (forced update)
雖然這樣一定會成功,但接下來你就要去面對 Sherly,跟她解釋為什麼你把她的進度蓋掉了。
源自文档:https://gitbook.tw/chapters/github/fail-to-push.html