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

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

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


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


根据需要执行

git pull 
git push origin master

不会吧。

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

Windows下用乌龟的Git工具吧。


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

git push origin master:master --force

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


= = 你所说的提交是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教程


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

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


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


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

【热门文章】
【热门文章】