git 常见问题解决指南
git警告: LF will be replaced by CRLF in....
问题描述:
git 常见问题解决指南
在执行git add .(添加至暂存区,但并未提交至服务器)操作时,有时终端会出现如下警告:
warning: LF will be replaced by CRLF in ball_pool/assets/Main.js.
The file will have its original line endings in your working directory
原因:
因为文件中换行符的差别导致的,警告的意思是指:会把windows格式【CRLF(回车换行)】转换成Unix格式【LF】。git默认支持LF,在Windows下commit代码时git会把CRLF转LF,update代码时LF换CRLF。
解决方法:
注: .
为文件路径名
git rm -r --cached .
git config core.autocrlf false
git add .
git commit -m ''
git push
git pull报错:error: Your local changes to the following files would be overwritten by merge:
合作项目,之前用笔记本把代码做了一些修改、提交,修改完成。第二天忘了先 git pull 到本地,直接进行编写,突然想起忘了 pull 了,然后想用 git pull 来更新本地代码,结果报错:
error: Your local changes to the following files would be overwritten by merge:
意思是我本地上新修改的代码的文件,将会被git服务器上的代码覆盖;如果不想刚刚写的代码被覆盖掉,可以这样解决:
方法1:
如果你想保留刚才本地修改的代码,并把git服务器上的代码pull到本地(本地刚才修改的代码将会被暂时封存起来)
git stash
git pull origin master
git stash pop
如此一来,服务器上的代码更新到了本地,而且你本地修改的代码也没有被覆盖,之后使用add
,commit
,push
命令即可更新本地代码到服务器了。
方法2:
如果你想完全地覆盖本地的代码,只保留服务器端代码,则直接回退到上一个版本,再进行pull
:
git reset --hard
git pull origin master
注:其中origin master表示git的主分支。
本文来自博客园,作者:杨业壮,转载请注明原文链接:https://www.cnblogs.com/yang-yz/p/17173134.html