Git 使用中的常见问题及解决方案

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xufive/article/details/85763846

中文乱码

Git GUI 中文乱码

编辑用户主目录下的 .gitconfig 文件,增加:

[gui]
    encoding = utf-8

git status 包含中文路径时出错

如果项目中带有中文文件名或路径,使用 git status 查看状态时,显示如下:

在这里插入图片描述
要解决这个问题,只需要告诉 git 不对 0x80 以上的字符进行转义即可:

git config --global core.quotepath false

在这里插入图片描述

忽略提交的规则设置

使用 .gitignore 文件

.gitignore 文件对其所在的目录及所在目录的全部子目录均有效。通过将.gitignore文件添加到仓库,其他开发者更新该文件到本地仓库,以共享同一套忽略规则。

# 忽略指定文件
mypassword.cfg

# 忽略指定文件夹
doc/note/

# 忽略指定类型的所有文件
*.pyc

# 忽略名称中以特定内容结尾的文件夹
*ignore/

# 忽略名称中包含特定内容的文件夹
*ignore*/

创建.gitignore 文件的方法:

touch .gitignore

配置 .git/info/exclude 文件

通过配置 .git/info/exclude 文件来忽略文件。这种方式只能对自己本地仓库有作用,其他人没办法通过这种方式来共享忽略规则,除非他人也修改其本地仓库的该文件。

# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
*.pyc
*.log
*.ini
/code/session/
/code/static/upload/

使用 git config 命令修改 core. Excludesfile 选项

可以使用 git config 命令修改 core. Excludesfile 选项,指定一个忽略规则文件。该方式全局有效。

git config core. Excludesfile = C:\Users\xufiv\gitignore.txt

换行符

换行符是跨平台项目令人头疼的问题。Windows 平台使用 \r\n,Linux平台使用 \n,MacOS平台使用 \r,如果开发者在不同的平台上协作开发,就会出现换行符问题。为了解决这一问题,Git提供了 autocrlf 和 safecrlf 两个配置项来解决这个问题。

autocrlf 配置实例如下:

# fetch时将换行符转换成CRLF,commit时转换回 LF。
git config --global core.autocrlf true

#fetch时不转换换行符,commit时转换回 LF
git config --global core.autocrlf input

#禁止换行符转换
git config --global core.autocrlf false

safecrlf配置说明如下:

# 拒绝提交包含混合换行符的文件
git config --global core.safecrlf true

# 允许提交包含混合换行符的文件
git config --global core.safecrlf false

# 提交包含混合换行符的文件时候给出警示
git config --global core.safecrlf warn

猜你喜欢

转载自blog.csdn.net/xufive/article/details/85763846