因為有時候本地上無網,然後不小心把新文件代碼提交到github後,下次提交的時候這些文件好像被標記已提交(實際上沒有提交上去),然後github和本地的代碼就不同步
迷茫2017-05-02 09:35:16
不會吧。
我的步驟通常是這樣git push
git push
如果失败的话,说明网络上的版本已经更改过了,那就git pull
如果失败的话,说明网络的版本和本地的版本在合并时可能产生冲突,那就git stash
(把本地的修改全部缓存起来)
然后再git pull
然后再git stash pop
(把缓存起来的修改恢复)
然后如果有冲突解决冲突,没有就git push
如果失敗的話,說明網路上的版本已經更改過了,那就
git pull
如果失敗的話,說明網路的版本和本地的版本在合併時可能產生衝突,那就
git stash
(把本地的修改全部緩存起來)🎜然後再🎜git pull
🎜然後再🎜git stash pop
(把快取起來的修改恢復)🎜然後如果有衝突解決衝突,沒有就🎜git push
🎜
🎜Windows下用烏龜的Git工具吧。 🎜PHP中文网2017-05-02 09:35:16
= = 你所說的提交是commit麼?
如果是commit是沒問題的啊,因為commit是把程式碼提交到本地倉庫
比如沒網時
//改了一些文件
git commit -am 'fix a bug'
//又改了一些文件
git commit -am 'add new func'
這些更改都是被提交到本地倉庫的,遠端倉庫還是沒變的
等到你有網時
git push
這時會把遠端倉庫跟你本地倉庫對比,然後把更改push到遠端倉庫
這時遠端倉庫也會有這兩條提交記錄的
'fix a bug'
'add new func'
推薦你去看下 git教學
高洛峰2017-05-02 09:35:16
如果你十分確定不是因為別人更新導致你的請求無法完成,而是因為上次網絡的原因導致上次提交導致遠端版本庫出問題了(可能性不大),而且你有十分確定本地庫是沒有問題的,你可以:
git push origin master:master --force
PHPz2017-05-02 09:35:16
我覺得是這樣的哈,git個github是兩個不同的概念,我理解你是沒有網情況下提交到了本地的版本控制管理中,而並沒有push到遠端伺服器的版本控制,git是分散式的版本控制,也就是遠端和本地都維護了一個完整的版本庫,如果你連上網pull下程式碼就是從伺服器上拉取程式碼並合併到本地分支,如果你使用了fetch則需要看看你有沒有merge遠端分支。