suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Github和本地上的代码不同步,怎么解决?

因为有时候本地上无网,然后不小心把新文件代码提交到github后,下次提交的时候这些文件好像被标记已提交(实际没有提交上去),然后github和本地的代码就不同步

高洛峰高洛峰2764 Tage vor709

Antworte allen(9)Ich werde antworten

  • 迷茫

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

    不会吧。

    我的步骤通常是这样
    git push
    如果失败的话,说明网络上的版本已经更改过了,那就
    git pull
    如果失败的话,说明网络的版本和本地的版本在合并时可能产生冲突,那就
    git stash(把本地的修改全部缓存起来)
    然后再
    git pull
    然后再
    git stash pop(把缓存起来的修改恢复)
    然后如果有冲突解决冲突,没有就
    git push

    Windows下用乌龟的Git工具吧。

    Antwort
    0
  • phpcn_u1582

    phpcn_u15822017-05-02 09:35:16

    根据需要执行

    git pull 
    git push origin master

    Antwort
    0
  • 阿神

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

    本地无网怎么能提交到github上呢?

    Antwort
    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教程

    Antwort
    0
  • 黄舟

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

    无网的时候提交到的是自己的本地库。如果提交到远程库是要git push的

    Antwort
    0
  • 高洛峰

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

    如果你十分确定不是因为别人更新导致你的请求无法完成,而是因为上次网络的原因导致上次提交导致远程版本库出问题了(可能性不大),而且你有十分确定本地库是没有问题的,你可以:

    git push origin master:master --force

    Antwort
    0
  • 黄舟

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

    commit 是在本地仓库, 要pull 上去

    Antwort
    0
  • PHPz

    PHPz2017-05-02 09:35:16

    我觉得是这样的哈,git个github是两个不同的概念,我理解你是没有网情况下提交到了本地的版本控制管理中,而并没有push到远程服务器的版本控制,git是分布式的版本控制,也就是远程和本地都维护了一个完整的版本库,如果你连上网pull下代码就是从服务器上拉取代码并合并到本地分支,如果你使用了fetch则需要看一下你有没有merge远程分支。

    Antwort
    0
  • 天蓬老师

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

    首先分清什么是Git,什么是Github。

    然后,Git的提交(commit)不会推送到远程库啊,莫非你以前是用SVN的?

    Antwort
    0
  • StornierenAntwort