git配置

1 配置文件

1.1 用户级别

~/.gitconfig

1.2 仓库级别

 .git/config

2 core.ignorecase

如果是true的话,会导致,在.gitignore文件中设置的是小写的“*.s”,但是大写的"*.S"也被忽略了。所以,记得设置成false,因为不区分大小写的文件系统毕竟很少。

由于设置成了true,导致我的.S文件没有上传到库中,足足花费了我接近3个小时解决这个问题。

3 git config参考文档

https://git-scm.com/docs/git-config/

4 git config主要的配置选项

branch.<name>.remote

branch.<name>.merge

用来配置名字为name的branch的remote和merge。

与之对应的是.git/config文件中的

[branch "master"]
remote = origin
merge = refs/heads/master

这个配置的意思是,当git位于master分支时,remote仓库为origin,当git pull的时候没有指定远程的分支的时候,默认将remot的master分支merge到本地分支。

也可以使用命令行配置如下:

$ git config branch.master.remote origin
$ git config branch.master.merge refs/heads/master

5 关于refs/heads/master和refs/for/master

这个是gerrit的规则,refs/for/*的提交要经过code review才可以提交,refs/heads/*不需要经过code review就可以提交。

 

6 git refs是个什么东西,它和branch之间是一个什么样的关系

git refs可以理解为本次提交的一个地址,它本质上是一个sha-1,即对本次提交的文本求了一个sha-1的值,通过该值检索到该提交的文本对象。

而git branch是一连串的提交构成的,但是可以用最后一次提交的refs来表示一个branch。

 

 



 

posted @ 2017-12-27 15:47  PhoenixTree(梧桐树)  阅读(184)  评论(0)    收藏  举报