搜尋

首頁  >  問答  >  主體

Github和本地上的程式碼不同步,怎麼解決?

因為有時候本地上無網,然後不小心把新文件代碼提交到github後,下次提交的時候這些文件好像被標記已提交(實際上沒有提交上去),然後github和本地的代碼就不同步

高洛峰高洛峰2764 天前706

全部回覆(9)我來回復

  • 迷茫

    迷茫2017-05-02 09:35:16

    不會吧。

    我的步驟通常是這樣
    git pushgit 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工具吧。 🎜

    回覆
    0
  • phpcn_u1582

    phpcn_u15822017-05-02 09:35:16

    根據需要執行

    git pull 
    git push origin master

    回覆
    0
  • 阿神

    阿神2017-05-02 09:35:16

    本地無網怎麼能提交到github上呢?

    回覆
    0
  • PHP中文网

    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教學

    回覆
    0
  • 黄舟

    黄舟2017-05-02 09:35:16

    無網的時候提交到的是自己的本地庫。如果提交到遠端程式庫是要git push的

    回覆
    0
  • 高洛峰

    高洛峰2017-05-02 09:35:16

    如果你十分確定不是因為別人更新導致你的請求無法完成,而是因為上次網絡的原因導致上次提交導致遠端版本庫出問題了(可能性不大),而且你有十分確定本地庫是沒有問題的,你可以:

    git push origin master:master --force

    回覆
    0
  • 黄舟

    黄舟2017-05-02 09:35:16

    commit 是在本地倉庫, 要pull 上去

    回覆
    0
  • PHPz

    PHPz2017-05-02 09:35:16

    我覺得是這樣的哈,git個github是兩個不同的概念,我理解你是沒有網情況下提交到了本地的版本控制管理中,而並沒有push到遠端伺服器的版本控制,git是分散式的版本控制,也就是遠端和本地都維護了一個完整的版本庫,如果你連上網pull下程式碼就是從伺服器上拉取程式碼並合併到本地分支,如果你使用了fetch則需要看看你有沒有merge遠端分支。

    回覆
    0
  • 天蓬老师

    天蓬老师2017-05-02 09:35:16

    先分辨什麼是Git,什麼是Github。

    然後,Git的提交(commit)不會推送到遠端函式庫啊,莫非你以前是用SVN的?

    回覆
    0
  • 取消回覆