Git Config
基础配置:
# Core
git config --global core.autocrlf input
git config --global core.bare false
git config --global core.filemode true
git config --global core.ignorecase false
git config --global core.quotepath false
git config --global core.repositoryformatversion 0
git config --global core.safecrlf true
# Core unset
git config --global --unset core.excludesfile
git config --system --unset core.excludesfile
# Credential Storage
git config --global credential.helper store
git config --system credential.helper store
# Initial Default Branch
git config --global init.defaultBranch main
git config --system init.defaultBranch main
# Pull Rebase
# git config --global pull.rebase true
当前项目配置:
git config core.autocrlf input
git config core.bare false
git config core.filemode true
git config core.ignorecase false
git config core.quotepath false
git config core.repositoryformatversion 0
git config core.safecrlf true
git config credential.helper store
git config pull.rebase false
git config --unset core.excludesfile
git config user.name septvean
git config user.email septvean@gmail.com
3种配置
--global use global config file
--system use system config file
--local use repository config file
相关的配置文件
# Linux
global ~/.gitconfig
system /etc/gitconfig
local .git/config
# MacOS
global ~/.gitconfig
system /usr/local/git/etc/gitconfig
local .git/config
查看配置
git config --global --list
git config --system --list
git config --local --list
如果不加参数, 默认查看的是 --local 的配置
git config --list
# 个人信息配置, 根据情况配置
# git config --global user.email septvean@gmail.com
# git config --global user.name SeptVean
# 不许忽略文件名大小写
git config --system core.ignorecase false
# 换行模式为 input, 即提交时转换为LF, 检出时不转换, 参数: true | input | false
# https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration
git config --system core.autocrlf input
# Linux/MacOS 检查文件权限 / Windows 不检查文件权限
git config --system core.filemode true
# 拒绝提交包含混合换行符的文件
git config --system core.safecrlf true
# 编辑器
git config --system core.editor vim
# Internal variable identifying the repository format and layout version
git config --system core.repositoryformatversion 0
# 默认不创建裸仓库
git config --system core.bare false
# log 所有 ref 的更新
git config --system core.logallrefupdates true
# Mac专用选项, 开启以便文件名兼容其他系统
# git config --system core.precomposeunicode true
# 只推送本地当前分支,且与上游分支名字一致
git config --system push.default simple
# 日志配置 (Linux)
# git config --system alias.lg "log --color --graph --pretty=format:'%C(bold white)%h%Creset -%C(bold green)%d%Creset %s %C(bold green)(%cr)%Creset %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"
# 强制开启 rebase 模式
# git config --system pull.rebase true
参数 --unset 用于移除相关配置, 示例:
git config --global --unset credential.helper
git config --global --unset user.name
git config --global --unset user.email
Git global setup
git config --global user.name "septvean"
git config --global user.email "septvean@gmail.com"
Create a new repository
git clone http://git.septvean.com:7000/websites/v2ep.com.git
cd v2ep.com
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
Existing folder
cd existing_folder
git init
git remote add origin http://git.septvean.com:7000/websites/v2ep.com.git
git add .
git commit -m "Initial commit"
git push -u origin master
Existing Git repository
cd existing_repo
git remote rename origin old-origin
git remote add origin http://git.septvean.com:7000/websites/v2ep.com.git
git push -u origin --all
git push -u origin --tags
Windows 和 MacOS 上的 Git 默认是大小写不敏感的, 这样多平台写作就可能会出现问题.
将 Git 设置为大小写敏感的命令如下
git config core.ignorecase false
查看 .git/config 中的配置
[core]
ignorecase = false