>[info] 为了更好的使用git来对开发的项目进行版本管理,有必要在一开始就来对对git进行配置。
## git的配置文件
1. 系统默认配置文件
~~~
$HOME/.gitconfig
~~~
如果是Windows则一般是在`C:\Users\Administrator\.gitconfig`,如果是Linux则是在`/root/.gitconfig`
2. 项目仓库配置文件
~~~
repository/.git/.gitconfig
~~~
## git的配置文件优先级
`项目仓库配置`的优先级高于`系统默认配置文件`
`项目仓库配置`的配置会覆盖`系统默认配置文件`的配置
## git全局配置与项目(局部)配置
项目仓库配置是全局配置
系统默认配置文件是项目(局部)配置
> 查看配置 `git config --global --list`
## git基本配置
~~~
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
~~~
其中配置是必须的user.email,否则不能提交,会提示请先配置在提交。
并且需要配置 git config --global user.email you@example.com 邮箱与github账户邮箱相同。
否则提交到github上面不能关联到对应的用户,看不到谁提交的哦。
![](https://box.kancloud.cn/e11b84707c3b3af448eb27e598521bdf_416x119.png)
## git常规命令别名配置
设置好的别名可事半功陪哦。
~~~
[user]
email = 811800545@qq.com
name = xiasf
[alias]
co = checkout
ci = commit
st = status
br = branch
l = log --graph --pretty=oneline --abbrev-commit
lg = log --all --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)%Creset' --abbrev-commit --date=relative
hist = log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short
type = cat-file -t
dump = cat-file -p
~~~
参考:
[别名](http://www.kancloud.cn/kancloud/igit/46714)
[git配置](http://www.kancloud.cn/thinkphp/github-tips/37914)
git默认不区分文件名和目录名的大小写,所以要更改一下:
```shell
git config core.ignorecase false
```
注意:这个属性配置为全局的话则没有效果的
----
windows 下 pull 不要自动转换了行尾,否则会导致 `.sh` 文件在 Linux 上执行时会有问题
https://www.jianshu.com/p/86bd686dc6fa
```shell
git config --global core.autocrlf false
```
* * * * *
### 配置用于远程连接的SSH Key
第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有`id_rsa`和`id_rsa.pub`这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
~~~
$ ssh-keygen -t rsa -C "youremail@example.com"
~~~
你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。
如果一切顺利的话,可以在用户主目录里找到`.ssh`目录,里面有`id_rsa`和`id_rsa.pub`两个文件,这两个就是SSH Key的秘钥对,`id_rsa`是私钥,不能泄露出去,`id_rsa.pub`是公钥,可以放心地告诉任何人。
第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴`id_rsa.pub`文件的内容
[远程仓库 - 廖雪峰的官方网站](https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001374385852170d9c7adf13c30429b9660d0eb689dd43a000)
* * * * *
[\[GIT\] warning: LF will be replaced by CRLF问题解决方法 - Mr.C - ITeye博客](http://michael-roshen.iteye.com/blog/1328142)
我的Sublime Text 3换行是 Unix,而Git Bash是windows版本,所以,帮我转换为了windows的换行符CRLF。当然通过配置`core.autocrlf`可以取消自动转换。
* * * * *
# 1.5 起步 - 初次运行 Git 前的配置
## 初次运行 Git 前的配置
一般在新的系统上,我们都需要先配置下自己的 Git 工作环境。配置工作只需一次,以后升级时还会沿用现在的配置。当然,如果需要,你随时可以用相同的命令修改已有的配置。
Git 提供了一个叫做 `git config` 的工具(译注:实际是 `git-config` 命令,只不过可以通过 `git` 加一个名字来呼叫此命令。),专门用来配置或读取相应的工作环境变量。而正是由这些环境变量,决定了 Git 在各个环节的具体工作方式和行为。这些变量可以存放在以下三个不同的地方:
* `/etc/gitconfig` 文件:系统中对所有用户都普遍适用的配置。若使用 `git config` 时用 `--system`选项,读写的就是这个文件。
* `~/.gitconfig` 文件:用户目录下的配置文件只适用于该用户。若使用 `git config` 时用 `--global`选项,读写的就是这个文件。
* 当前项目的 Git 目录中的配置文件(也就是工作目录中的 `.git/config` 文件):这里的配置仅仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以 `.git/config` 里的配置会覆盖`/etc/gitconfig` 中的同名变量。
在 Windows 系统上,Git 会找寻用户主目录下的 `.gitconfig` 文件。主目录即 `$HOME` 变量指定的目录,一般都是 `C:\Documents and Settings\$USER`。此外,Git 还会尝试找寻 `/etc/gitconfig` 文件,只不过看当初 Git 装在什么目录,就以此作为根目录来定位。
[Git - 初次运行 Git 前的配置](https://git-scm.com/book/zh/v1/起步-初次运行-Git-前的配置)
* * * * *
[TortoiseGit 添加ssh key - VZXM - 博客园](https://www.cnblogs.com/beeasy/p/6066466.html) puttygen_jb51.rar 钉钉网盘 (不断移动鼠标,加快生成)
last update:2017-8-23 17:06:54
- 说明
- git配置
- git与github的关系
- 基础概念
- git命令
- git init
- git status
- git diff
- git log
- git reflog
- git add
- git commit
- git reset
- git checkout
- git rm
- git stash
- git remote
- git push
- git clone
- git branch
- git fetch
- git merge
- git rebase
- git pull
- git tag
- 建立版本库
- 分支合并
- 远程库别名
- Pull requests
- 扩展知识
- 功能文件
- 差异看法
- 注意细节
- github移动端
- git工作系统理解
- 仓库嵌套问题
- 仓库的使用问题
- 常用命令
- 学习资料
- 学习总结
- 示例文件
- README.md
- CONTRIBUTING.md
- .gitignore
- coding
- 大小写问题
- 如何贡献
- 使用账号密码clone
- git目录分析
- HEAD
- 代码部署问题
- 开发流程
- 指定公钥文件