github不小心同步覆盖了本地文件
2016-04-05 12:42
323 查看
昨天不小心github的commit还没push就同步了,导致本地文件被覆盖,一度以为没救了。 后来得微博 @空非无和 @柳烟堆雪 指点,用git reflog 恢复了文件。
事情是这样的。。。
我在两个电脑上修改一个项目,A修改文件a,B修改文件b。然后我干了下面这些事,按时间顺序。。。
1. A上 git commit
2. A上 git push
3. B上 git commit
4. B上 git pull
然后。。。B上修改的b就被覆盖了。。。
而且git log已经找不到第3步的commit了。
解决方案:
执行git reflog
1
2
3
然后
1
2
就可恢复原来B上的本地文件, 然后push到服务器端:
1
但出现:
1
2
3
4
5
6
可见,线下线上文件出现了冲突。
解决方法:
git pull
如果有冲突,解决冲突
git push
但是git pull出现问题:
1
2
3
4
解决方法:切换到master,再执行git push
事情是这样的。。。
我在两个电脑上修改一个项目,A修改文件a,B修改文件b。然后我干了下面这些事,按时间顺序。。。
1. A上 git commit
2. A上 git push
3. B上 git commit
4. B上 git pull
然后。。。B上修改的b就被覆盖了。。。
而且git log已经找不到第3步的commit了。
解决方案:
执行git reflog
502dd0f HEAD@{0}: pull --progress --rebase --prune origin master 147b3b5 HEAD@{1}: commit: commit-mark 502dd0f HEAD@{2}: rebase finished: returning to refs/heads/master
1
2
3
然后
git reset --hard 502dd0f git cherry-pick 147b3b5
1
2
就可恢复原来B上的本地文件, 然后push到服务器端:
git push origin master
1
但出现:
! [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'https://github.com/GitUsername/GitProgramName.git' hint: Updates were rejected because a pushed branch tip is behind its remote hint: counterpart. Check out this branch and integrate the remote changes hint: (e.g. 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details.
1
2
3
4
5
6
可见,线下线上文件出现了冲突。
解决方法:
git pull
如果有冲突,解决冲突
git push
但是git pull出现问题:
You are not currently on a branch. Please specify which branch you want to merge with. See git-pull(1) for details. git pull <remote> <branch>
1
2
3
4
解决方法:切换到master,再执行git push
git checkout -b temp git checkout master from: http://blog.csdn.net/abcjennifer/article/details/45101153
相关文章推荐
- 由浅入深学Java Socket
- 运维调试记录:C++ compile error: default argument given for parameter
- c++ 逗号操作符重载
- C# out和ref参数修饰符
- python实现并行爬虫
- python 调用 C++ code
- C++调用python
- python多线程threading
- 用php+MySQL实现检索数据库里的内容。。。
- FaceNet--Google的人脸识别
- 解决eclipse闪退
- Java eclipse生成doc文档
- Java实现大数相乘
- c#版RSA非对称加解密函数(PEM格式文件读写,能与php进行互通)
- CompressFile工具类使用,zip和rar文件解压缩与打包操作Java源代码
- C/C++访问Lua中table元素方法总结
- 将protege-owl API的doc文档添加到eclipse的编程坏境中
- python(7)– 类的反射
- Java入门:创建多个对象
- mybatis学习笔记二mybatis结合spring mvc实现(用户登录,数据查询)