>[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上面不能關聯到對應的用戶,看不到誰提交的哦。

## 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.hmoore.net/kancloud/igit/46714)
[git配置](http://www.hmoore.net/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
- 代碼部署問題
- 開發流程
- 指定公鑰文件