config的配置除了命令外,可以直接修改相对应的文件。
系统配置:/etc/gitconfig 全局配置:~/.gitconfig 项目配置:工作区/.git/config
config的基础以及命令参阅:Git配置命令config
-
基础配置
user.name //用户信息的配置 user.email core.editor //文本编辑器 merge.tool //差异分析工具 core.paper "less -N" //配置显示方式 color.diff true //diff颜色配置 alias.co checkout //设置别名 git config --global alias.co checkout git config --list //查看配置信息 ! git config user.name //直接查阅某个环境变量的设定 git config core.filemode false //忽略修改权限的文件 git config --global apply.whitespace nowarn //忽略文件中的空格修改 git config --global commit.template $HOME/.gitmessage.txt //commit.template 提交说明模板
-
颜色配置
color.branch auto color.diff auto color.interactive auto color.status auto color.ui true //将颜色全部打开 [color] branch = auto diff = auto status = auto [color "branch"] current = yellow reverse local = yellow remote = green [color "diff"] meta = yellow bold frag = magenta bold old = red bold new = green bold [color "status"] added = yellow changed = green untracked = cyan
-
.gitignore文件
通过创建名为.gitignore的文件,列出要忽略的文件模式
web/web/smarty/templates_c .svn output #deps web/scripts .idea libs Config.php release
-
core.autocrlf 处理行结束符
true 在提交时将CRLF转换为LF 当签出代码时,LF会被转换成CRLF input 在提交是将CRLF转换为LF ,签出时不转换 false 取消此功能
core.whitespace 探测和修改空白问题,其4种抓选项中的2个默认被打开,另2个被关闭
默认被打开的2个选项是trailing-space和space-before-tab trailinig-space会查找每行结尾的空格, space-before-tab 会查找每行开头的制表符前的空格
默认被关闭的2个选项是indent-with-non-tab和cr-at-eol indent-with-non-tab会查找8个以上空格(非制表符)开头的行, cr-at-eol 让Git指定行尾回车符是合法的
- git config branch.autosetupmerge true
自动从远程分支合并提交到本地分支,如果不做此设置你需要手动add track远程分支或手动merge 默认就是true
- git config branch.autosetuprebase always
设置在pull是做rebase还是merge 可选的值有never 不自动rebase,local跟踪本地分支的分支进行rebase,remote 跟踪远程分支的进行rebase , always所有的跟踪分支都自动进行rebase
有时候git clone下来后,文件的权限不对,需要chmod -R 777 .
但是这样git会发现很多的改变,事实上是不需要提交的。通过下面的配置可以让git忽略这种情况
git config core.filemode false 这条命令只能git库中执行