# Git

# 代理

# 设置全局代理
git config --global http.proxy <url>

#设置当前项目代理
git config http.proxy <url>

#取消全局代理
git config --global --unset http.proxy
1
2
3
4
5
6
7
8

# LF 与 CRLF 转化问题

Git 提供了一个“换行符自动转换”功能。这个功能默认处于“自动模式”,当你在签出文件时,它试图将 UNIX 换行符(LF)替换为 Windows 的换行符(CRLF);当你在提交文件时,它又试图将 CRLF 替换为 LF。

#提交时转换为LF,检出时转换为CRLF
git config --global core.autocrlf true

#提交时转换为LF,检出时不转换
git config --global core.autocrlf input

#提交检出均不转换
git config --global core.autocrlf false

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

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

#提交包含混合换行符的文件时给出警告
git config --global core.safecrlf warn
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 下载单文件

有时候只需要一个项目中的当个文件,但是git clone <url> 却克隆一整个项目。

# <url> 项目地址
git clone -n <url>

cd <project>

git config core.sparsecheckout true

echo <path> >> .git/ingo/sparse-checkout
# 如果是Powershell, ASCII编码输出
echo <path> | out-file -encoding ascii .git/info/sparse-checkout

git checkout master
1
2
3
4
5
6
7
8
9
10
11
12