Git配置
一、配置gitconfig
用户可以通过配置git的config文件定义和保存偏好,config文件有多个对应不用的作用域,且优先级高的会覆盖低的:
1、三个作用域
config路径 | 作用域 | 配置命令 | 优先级 |
---|---|---|---|
project /.git/config |
project 项目 |
git config (–local 缺省参数) | 高 |
~/.gitconfig | 当前用户 | git config –global | 中 |
/etc/gitconfig | 本机所有用户 | git config –system | 低 |
2、配置操作
1)查看配置文档:git help config
2)查看已有配置
命令 | 结果 |
---|---|
git config -l | 显示所有级别的配置内容(按由低到高的优先级 排列),即多个重复项中最后一项生效 |
git config –local -l | 显示本项目的配置内容 |
git config –global -l | 显示当前用户的配置内容 |
git config –system -l | 显示本机所有用户的配置内容 |
git config –scope key | 显示指定作用域的指定key的值, 例如:git config –global user.name |
3)配置config
配置方式 | 操作 |
---|---|
命令配置 | 例如:git config –global user.name “kivi” |
编辑config文件 | 例如:vim ~/.gitconfig |
3、配置实例
要正确使用git,只要简单配置如下即可:
git config –global user.name “kivi”
git config –global user.email shichengyx@sina.com
二、配置忽略文件
git可以配置忽略文件来忽略工作区的指定文件,例如Java项目可通过配置忽略文件来禁止class文件上传到git仓库。
1、两个配置文件
git忽略文件有两个:.gitignore和exlude文件,Git根据两个文件的内容忽略相应文件。
1).gitignore隶属于工作区,是项目的一个文件,被Git版本管理(同其他文件一样以blob对象的形式存储在.git/objects/目录下)。适合配置项目公开的忽略文件,其他开发者可见
2)exclude文件位于.git/info/exclude,不属于项目,不被Git版本管理。适合配置本地的忽略文件,其他开发者不可见
2、语法规则
git help ignore 查看详细规则
1)#
起始的行为注释行
2)绝对路径和相对路径
- 绝对路径:以
/
起始的路径,例如:/bin/
仅忽略根目录下的bin文件下的文件。 - 相对路径:非
/
起始的路径,例如:bin/
忽略任意层级下的bin文件夹下的文件
3)忽略文件还是目录?
- folderA/name:忽略folderA下的
name
文件和文件夹。 - folderA/name/:忽略folderA下的
name
文件夹。
4)特殊字符:!
、?
、*
、**
和[]
!
:排除?
:匹配任意一个字符【类似regex的.
】*
:匹配任意多个字符(在Linux和Windows平台表现不同,Linux下等同与**
,Windows则不等同)**
:匹配任意层级目录【类似regex的.*
】[]
:匹配一个字符组【等同regex的[]
】
3、配置gitignore
vim .gitignore
1 | 这是一行注释 |
4、配置exclude
vim .git/info/exclude
,参考.gitignore配置。
三、配置远程仓库
1、远程仓库
Git通过远程仓库的方式进行团队协作开发。
远程仓库是指托管到网络上的项目仓库,有权限的项目成员可通过拉取和推送操作来协同开发。
1)管理远程仓库
2)拉取(fetch/pull)和推送(push)
1、命令:git fetch [repository] [remote-branch]:[local-branch]
2、命令:git pull
相当于git fetch
+ git merge
。即先把远程分支fetch到本地,然后和当前分支合并(分支合并将在分支章节详细说明)。
3、命令:git push [repository] [local-branch]:[remote-branch]
。
若执行:git push origin master:master
,结果为:
1)更新远程origin仓库的refs/heads/master分支。
2)更新本地仓库的refs/remotes/origin/master分支。
2、配置远程仓库
1)两个相关命令
1 | // 设置跟踪分支 |
2).gitconfig文件
1)git init
1 | [core] |
2)git remote add origin git@git.jd.com:wangqiwei7/git-test.git
1 | [core] |
3)git branch -u origin/dev dev
1 | [core] |
4)git branch --unset-upstream dev
1 | [core] |