介绍

git是一款代码版本控制软件,目前已被广泛的使用。因此优雅的使用git已经成了开发者的必备技能。
区别于SVN,git的特点是去中心化

命令

日志

  1. git log

状态

git status

增加文件到缓存区

git add filename

提交更新

git commit -m 'update info'

从仓库拉代码并合并

git pull

向仓库master分支推代码

git push origin master

忽略不想提交的文件

vi .gitignore//修改 .gitignore ,增加相关文件名或目录,支持通配符

‘#’(警号)为注释 – 将被 Git 忽略

文件忽略规则

*.a       # 忽略所有 .a 结尾的文件
!lib.a    # 但 lib.a 除外
/TODO     # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/    # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

清除本地缓存,重新提交,即可保证和 .gitignore 规则一致

git rm -r --cached .

删除修改

git checkout filepath/filename

拉取所有更新

git fetch

增加并切换到分支

git checkout -b branchname

合并分支

git merge origin/master

配置

1. 用户信息

你个人的用户名称和电子邮件地址,用户名可随意修改,git 用于记录是谁提交了更新,以及更新人的联系方式。

git config --global user.name "Donly Chan"
git config --global user.email donly@example.com

2.差异分析工具

在解决冲突时经常用到,一般为vimdiff

git config --global merge.tool vimdiff

3.自动高亮

很有用的颜色提示,因有些人不喜欢,所以默认是不开启的

git config --global color.ui auto

4.查看配置

查看所有配置

git config --list

查看某个配置

git config user.name

5.配置文件

/etc/gitconfig 对所有用户有效
~/.gitconfig 对当前用户有效
{工作目录}/.git/config 仅对当前项目有效