git错误汇总(下)
由于篇幅有限,我们接着把剩下的问题汇总一下。这都是实在的干货,我真是太有心了,也不知道有没有人点赞😊。废话不多说,我们直入正题,从七开始吧~
七、未监视的工作树文件,如何处理?
1 | error: Untracked working tree file 'gulpfile.js' would be overwritten by merge. Aborting |
解决方案如下:1
2
3
4git reset --hard HEAD
#删除untracked文件,参数fd是强制并删除目录
git clean -fd
git pull
八、代码冲突了,以谁的版本为准?
1 | Your local changes to the following files would be overwritten by merge |
如果希望保留生产服务器上所做的改动,仅仅并入新配置项, 处理方法如下:1
2
3git stash
git pull
git stash pop
然后可以使用如下命令:1
git diff -w +文件名
反过来,如果希望用代码库中的文件完全覆盖本地工作版本. 方法如下:1
2git reset --hard
git pull
其中git reset是针对版本,如果想针对文件回退本地修改,使用1
untracked working tree file
九、git放弃本地修改,强制更新
1 | git fetch --all |
这里需要注意的是:git fetch只是下载远程的库的内容,不做任何的合并,git reset 把HEAD指向刚刚下载的最新的版本。
十、取消本地修改
1 | git checkout -- README.md |
此操作将丢弃本地修改
十一、取消本地暂存文件操作,即取消 git add
1 | git reset HEAD README.md |
十二、修改上一次commit 提交信息
1 | git commit -- amend |
程序进入了vim模式(如果对vim编辑器不太熟悉,猛戳这里!《熟练使用vim编辑器》),编辑之后:wq!保存并退出,接下来我们来查看commit提交日志:
十三、彻底撤销最近的提交
1 | git reset --hard HEAD^ |
引用回退到前一次,而且工作区和暂存区都会回退到上一次提交的状态。自上一次以来的提交全部丢失。适用于完全恢复到上一个版本:
十四、回退到上一次提交的状态,按照某一次的commit完全反向的进行一次commit.(代码回滚到上个版本,并提交git)
1 | git revert HEAD |
git log –oneline查看日志
git reset –hard a103285 我们接着回到之前的版本
可以看到我们的HEAD已经指到了a103285,于是,我们完成了一次回退。
基本上就这些了,以后再碰到新的问题,我接着往下写吧。
参考:
http://blog.chinaunix.net/uid-10415985-id-4142896.html
http://www.cnblogs.com/leehongee/p/3674570.html
http://blog.csdn.net/cankingapp/article/details/18312117
http://www.oschina.net/translate/10-tips-git-next-level