安装和配置
https://git-scm.com/
https://git-for-windows.github.io/
查看版本号
git --version
配置参数
git config --global user.name "your name"
添加用户
git config --global user.email "you@company.com"
添加邮箱
git config --global --list
查看信息
git config --global color.ui "auto|always|false"
颜色标记
获取帮助
git help <command>
创建版本库
git init
eg:mkdir work -> cd work -> git init
添加文件到索引
git add filename
git add -i
进入交互模式
git add -p
进入补丁模式
提交修改
git commit [-a] -m "message" [-m "message"]
-a 提交全部修改
git commit -m <message> <file>
提交指定文件
git commit -C HEAD -a --amend
增补提交,-C表示复用上一次留言,-c打开预制编辑器,可在之前留言上编辑
查看日志
git log [-num]
[-num] 限制日志输出个数
eg:git log -2
git log --pretty=oneline
简洁模式
查看状态
git status
创建新分支
git branch [-b] new old
[-b] 创建并检出
显示所有分支
git branch
从标签创建分支
git branch <name> <tag>
切换到新分支
git checkout new
分支重命名
git branch -m <old> <new>
添加标签
git tag num branch
eg:git tag 1.0 master 给master分支当前位置打上1.0的标签
显示标签
git tag
删除分支
git branch -d name
比较
git diff
查看工作目录树与暂存区区别
git diff --cached
暂存区域版本库区别
git diff HEAD
工作目录树与版本库区别
分支合并操作
eg:
git rebase dev```
将dev分支与master分支合并,dev分支的修改(包括标签)会合并到master分支,而dev分支保持不变
```git merge <branch name>```将分支<>合并到当前分支
```git merge --squash <branch name>```将分支<>压合合并到当前分支
## 提交合并
```git cherry-pick [-n] <hash code>```将<>提交合并到当前分支,[-n]多选
## 添加远程仓库
```git remote add 仓库名 地址```
## 推送到远程仓库
```git push [-u] 仓库名 分支```
-u为第一次分支推送时将远程仓库分支与本地分支关联的参数,之后推送可不加此参数
## 反转提交
```git revert [-n] <HEAD | hash code>
git commit -m <message>``` [-n]表示暂时不提交,反转多个时候用
或
```git revert <HEAD | hash code> --no-edit```使用默认提交留言
## 复位
```git reset <--hard | --soft> <HEAD | hash code> [^ | ~num]```
--soft 参数复位到某一版本后,该版本之后的提交会在工作目录树中暂存,以便修改后重新提交;--hard参数工作目录树和版本库会直接被复位
^ 参数表示指定版本之前的版本,~num 表示指定版本之前的num个版本
## 创建归档
```git archive --format=<zip|tar> --prefix=<name>/ <tag | HEAD> [ | gzip|bzip2]> <file name>```
压缩为tar包时才加入[gzip | bzip2]参数
## 忽略文件
git忽略文件有两种方式:```.gitignore```版本级别忽略,该设置能与其他文件一起传播;
```.git/info/exclude```本地级别忽略,该设置不会被传播
网友评论