Fork me on GitHub

Git常见问题解决

报错1:[git] warning: LF will be replaced by CRLF | fatal: CRLF would be replaced by LF

原因:
遇到这两个问题是因为Git的换行符检查功能core.safecrlf.
这个功能有如下选项:

  • false - 不做任何检查
  • warn - 在提交时检查并警告
  • true - 在提交时检查,如果发现混用则拒绝提交
    建议使用最严格的true选项
    假如你正在Windows上写程序,又或者你正在和其他人合作,他们在Windows上编程,而你却在其他系统上,在这些情况下,你可能会遇到行尾结束符问题。这是因为Windows使用回车和换行两个字符来结束一行,而Mac和Linux只使用换行一个字符。虽然这是小问题,但它会极大地扰乱跨平台协作。

解决:
Git可以在你提交时自动地把行结束符CRLF转换成LF,而在签出代码时把LF转换成CRLF。用core.autocrlf来打开此项功能,如果是在Windows系统上,把它设置成true,这样当签出代码时,LF会被转换成CRLF:

1
$ git config --global core.autocrlf true

Linux或Mac系统使用LF作为行结束符,因此你不想 Git 在签出文件时进行自动的转换;当一个以CRLF为行结束符的文件不小心被引入时你肯定想进行修正,把core.autocrlf设置成input来告诉 Git 在提交时把CRLF转换成LF,签出时不转换:

1
$ git config --global core.autocrlf input

这样会在Windows系统上的签出文件中保留CRLF,会在Mac和Linux系统上,包括仓库中保留LF。

如果你是Windows程序员,且正在开发仅运行在Windows上的项目,可以设置false取消此功能,把回车符记录在库中:

1
$ git config --global core.autocrlf false

问题2: windows git bash操作记住密码

解决方案

问题3:git提交时忽略特定的的文件或某类文件

解决方案:添加配置文件.gitignore

问题4:git clone 时显示Filename too long

解决:
在git bash中,运行下列命令就可以解决该问题。

1
$ git config --global core.longpaths true

问题5:fatal: destination path ‘文件夹名称’ already exists and is not an empty directory.

解决办法:

1
2
3
4
5
git init
git remote add origin https://[email protected]
git fetch
git branch master origin/master
git checkout master

问题6:modified: xxx(modified content, untracked content)

解决方法:
提示的目录下已经存在.git目录,将目录删除,重新git add . 即可.出现这类问题原因可能是项目中直接引用了其他git库的代码.

问题7:git中出现sign_and_send_pubkey: signing failed: agent refused operation

1
2
eval "$(ssh-agent -s)"
ssh-add

https://blog.csdn.net/leoeitail/article/details/60962637

======================================================
希望各位朋友支持一下

本文作者:dongsheng
本文地址https://mds1455975151.github.io/archives/dec5fbd3.html
版权声明:转载请注明出处!

坚持技术分享,您的支持将鼓励我继续创作!