Git配置详解
天行健,君子以自强不息;地势坤,君子以厚德载物。
每个人都有惰性,但不断学习是好好生活的根本,共勉!
文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。
文章目录
- 一、Git介绍
- 1. 本地版本控制系统
- 2. 集中式版本控制系统
- 3. 分布式版本控制系统
- 二、Git配置
- 1. Git配置工具config的介绍
- 1.1 `/etc/gitconfig`文件
- 1.2 `~/.gitconfig`或者`~/.config/git/config`文件:
- 1.3 当前仓库的Git目录中的config文件(`.git/config`)
- 2. 查看Git的配置信息
- 2.1 查看Git配置文件及文件位置
- 2.2 查看Git配置参数列表
- 3. 配置Git的用户信息
- 3.1 全局配置用户信息
- 3.2 特定项目配置用户信息
- 3.3 查看Git单一参数
- 4. 配置Git界面颜色
- 5. 配置Git忽略文件
- 5.1 `.*`
- 5.2 `*.class`
- 5.3 `a.class`
- 5.4 `!.*`
- 5.5 `!*.class`
- 6. 配置Git命令别名
- 6.1 配置方式
- 6.2 举例
- 6.3 删除别名
Git相关文章参考:
Git学习和使用指南简单篇
Git学习和使用指南详细篇
Git命令汇总
一、Git介绍
常见的版本控制系统有:本地版本控制系统、集中式版本控制系统、分布式版本控制系统
1. 本地版本控制系统
复制整个项目目录作为版本控制文件
流行的本地版本控制系统如RCS
在硬盘上保存补丁集,每个补丁记录一个版本的变动
2. 集中式版本控制系统
英文Centalized Version Control System,简称CVCS,使用一个集中管理的服务器保存版本控制文件
优点是每个人都能看到别人做了什么修改
缺点是服务器一旦宕机就无法提交更新,若服务器磁盘未做备份,一旦损坏无法恢复
主流的集中式版本控制系统如:CVS、Subversion、Perforce
3. 分布式版本控制系统
Distributed Version Control System,简称DVCS,代码仓库和记录都会被镜像到本地,也就是服务器和本地都有备份项目代码和历史记录
优点是速度更快,协作更方便
主流的集中式版本控制系统如:Git、Mercurial、Bazaar、Darcs
二、Git配置
.gitignore文件中的语法:
#表示注释
*.class表示排除所有.class文件
!.class表示不排除.class文件
app.class表示排除app.class文件
!app.class表示不排除app.class文件
Git命令
1. Git配置工具config的介绍
git的外观和行为配置都使用git config工具来控制
外观和行为配置的变量存储在三个位置:/etc/gitconfig、~/.gitconfig或者~/.config/git/config、.git/config
1.1 /etc/gitconfig文件
存放系统上每一个用户及用户的仓库的通用配置
执行git config命令时带上–system选项就会读写该文件中的配置变量,但需要系统管理员权限
1.2 ~/.gitconfig或者~/.config/git/config文件:
该文件只配置用户参数,可通过–global选项让git强制读写该文件,会对系统所有仓库项目生效
1.3 当前仓库的Git目录中的config文件(.git/config)
当前仓库的Git目录中的config文件(.git/config)
对当前仓库生效,进入某个git仓库后,默认情况下就会使用该文件,但可通过–local选项让git强制读写该文件
2. 查看Git的配置信息
2.1 查看Git配置文件及文件位置
查看配置文件及所在位置的命令
git config --list --show-origin
注意:
.git/config的配置会覆盖/etc/config的配置
在windows中查看配置文件和位置时,git会查找C:\Users$USER的.gitconfig文件
这里$USER是变量,对应的是你自己电脑的用户名
2.2 查看Git配置参数列表
查看Git配置参数列表,如账号名邮箱等的参数内容
git config --list
3. 配置Git的用户信息
3.1 全局配置用户信息
在机器的整个环境下所有项目都会使用这个用户信息提交代码
用户名配置,寒山是我自定义的用户名
git config --global user.name "寒山"
邮箱配置,hanshan@163.com是我自己的邮箱(假的,这名字被人取了)
git config --global user.email hanshan@163.com
3.2 特定项目配置用户信息
在某个项目下想使用单独的用户信息提交代码,可使用不带–global的命令配置用户信息
某个项目目录下配置用户名
git config user.name "hanshan"
某个项目目录下配置用户邮箱
git config user.email hanshan@163.com
3.3 查看Git单一参数
查看用户名
git config user.name
查看邮箱
git config user.email
等等
4. 配置Git界面颜色
git config --global color.ui true
5. 配置Git忽略文件
在提交时想忽略一些文件不提交,如密码等配置文件,可使用.gitignore文件配置
在git工作区的根目录即.git文件同级目录,创建.gitignore文件(正常在使用远程仓库时会自动生成)
在.gitignore文件中编写需要忽略的文件即可
忽略具体某个文件则只需在.gitignore文件中写该文件名即可
忽略某一类型的文件可使用*.类型的方式,如忽略.class结尾的文件可写成*.class
还有一种情况就是忽略某一类型文件后其中有一个文件不想忽略,则可将该文件卸载忽略文件中并加上!,如忽略.class结尾文件后不想忽略java.class文件,可以在.gitignore中写!java.class
忽略文件.gitignore语法
5.1 .*
.*表示忽略所有以.开头的文件
5.2 *.class
*.class表示忽略所有以.class结尾的文件
5.3 a.class
a.class表示忽略文件a.class
5.4 !.*
!.*表示不排除以.开头的文件
5.5 !*.class
!*.class表示不排除所有以.class结尾的文件
注意:
如果想强制添加被忽略的文件,执行时加-f参数强制执行即可
git add -f a.class
检查忽略规则
git check-ignore
6. 配置Git命令别名
当使用git命令时,可以通过配置git命令别名来简写git命令
如git add .可换成git a .
git commit -am"" 可以换成git cm -am""
git pull 可以换成git pl
git push 可以换成git ps
6.1 配置方式
加--global是配置全局,不加则只对当前用户
语法如下
git config --global alais.gitNewCommands 'git-origin-commands'
gitNewCommands表示新命令即别名
git-origin-commands表示原命令
6.2 举例
如
git config --global alais.a add
git config --global alais.cm commit
当然除了单词的缩写,还可以将组合命令简写
如显示最后一次提交信息
git log -1
git config --global alais.last 'log -1'
后续即可使用git last相当于git log -1
6.3 删除别名
如何将配置的别名删除
全局配置文件的删除方法:
在.git/config文件中的alais部分是别名的配置参数,删除对应的别名即可
用户配置文件的删除方法:
当前用户的配置文件放在用户目录下的.gitconfig中,删除文件中对应的别名即可
感谢阅读,祝君暴富!