基本流程
- 工作区-->暂存区-->本地仓库-->远程仓库
基本配置
-
git config user.name [用户名]
- 设置用户名
- 添加--project,针对当前项目生效(默认)
- 添加--global,针对当前用户生效(示例:git config --global user.name [用户名])
- 添加--system,针对所有用户和项目生效
- 添加--get检索设置,验证是否设置成功
-
git config user.email [邮箱]
- 设置邮箱
- 添加--project,针对当前项目生效(默认)
- 添加 --global,针对当前用户生效(示例:git config --global user.email [用户名])
- 添加--system,针对所有用户和项目生效
- 添加--get检索设置,验证是否设置成功
常用命名
-
git init
初始化git仓库
-
git add
- 添加[file1] [file2]参数,将工作区一个或多个文件添加至缓存区
- 添加[file]参数,将工作区指定文件添加至缓存区
- 添加.参数,将工作区当前目录下所有文件添加至缓存区
-
git status
查看仓库当前状态,显示有变更的文件
-
git commit
- 添加-m 参数,msg是备注信息,提交暂存区的文件到本地仓库
- 添加-a参数,不需要执行git add命名,直接将被追踪且已修改文件提交至本地仓库
- 添加--amend,修改上一次提交记录
-
git push
- 添加-u origin [branch name],第一次提交使用-u后面推送直接使用git push
- 添加--set-upstream origin [branch name],链接远程仓库(强制方法)
-
git log
- 查看提交记录信息
- 添加--oneline参数,git log 信息变成非常简洁
-
git ls-files
查看本地仓库文件
-
git reset
-
添加--hard 参数,将全部区域(不包含远程仓库)直接重置到目标版本(默认)
后续可以使用git push -f强制推上去
-
添加--soft 参数,将文件从本地仓库重置到暂存区
-
添加--mixed 参数,将文件从本地仓库重置到工作区
-
-
git restore --staged/--cached
将文件从暂存区重置到工作区
-
git rm
- 从git仓库中删除(添加一个删除的记录,解除文件追踪)
- 添加--cached 参数,从暂存区删除对应文件
-
git branch
- 查看git 分支
- 添加参数,新建分支
-
git checkout/switch
- 添加参数,切换分支
- 添加-b 参数,新建分支并切换分支
- 添加-d 参数,删除分支(不能删除未合并分支)
- 添加-D 参数,删除分支(能删除未合并分支)
-
git diff
- 直接比较暂存区和工作区
- 添加--cached参数,比较暂存区和本地仓库
- 添加/参数,比较本地仓库和工作区
- 添加 参数,比较两个分支
-
git merge/rebase
合并分支(手动解决冲突)
-
git pull
相当于git fetch + git merge获取远程仓库地址文件合并本地仓库分支
-
git remote
- 添加add origin 参数,添加远程仓库地址
- 添加-v参数,查看远程地址
-
git clone
- 拷贝远程仓库文件到本地仓库
- 添加-b :选择分支名称拷贝远程仓库文件到本地仓库
-
git stash
- 暂存到本地,不会上传到服务器
- 添加save [msg]参数,添加一些注释
- 添加pop参数,恢复最新的进度到工作区
- 常用:git stash->git pull->git stash pop
-
git tag
打标签
-
git revert
回滚,重置对应提交的操作
开发提交命名规范
相关的git commit -m 提交命名规范,即命名类型
- feat:新功能(feature)
- fix:修补bug
- docs:文档更改(documentation)
- style:代码格式更改(不影响代码运行的变动),注意不是CSS修改
- refactor:重构(既不是新增功能,也不是修改bug的代码变动)
- perf:提高性能的代码更改
- test:增加测试
- build:影响构建系统或外部依赖项的更改(示例范围:gulp、broccoli、npm)
- ci:对ci配置文件和脚本的更改(示例范围:Travis、Circle、BrowserStack、SauceLabs)
- revert:恢复以前的提交(回退)
- chore:构建过程或辅助工具的变动
- footer:一些备注,通常是breaking change或者修复的bug的链接