# 配置命令
- 列出当前配置:git config --list
- 列出 Repository 配置:git config --local --list
- 列出全局配置:git config --global --list
- 列出系统配置:git config --system --list
- 配置用户名:git config --global user.name "your name"
- 配置用户邮箱:git config --global user.email "your email"
# 分支管理
- 查看本地分支:git branch
- 查看远程分支:git branch -r
- 查看本地分支和远程分支:git branch -a
- 从当前分支,切换到其他分支:git checkout
- 创建并切换到新分支:git checkout -b
- 删除分支:git branch -d
- 当前分支与指定分支合并:git merge
- 查看哪些分支已合并到当前分支:git branch --marged
- 插卡哪些分支没有合并到当前分支:git branch --no-merged
- 查看各个分支最后一个提交对象的信息:git branch -v
- 删除远程分支:git push origin --d
- 重命名分支:git branch -m
- 拉取远程分支并创建本地分支:git checkout -b 本地分支名 x origin/远程分支名 x
# fetch 指令
- 将某个远程主机的更新,全部取回本地:git fetch <远程主机名称>
- 取回特定分支:git fetch <远程主机名称> <分支名>
- 取回特定分支,并拉取到本地分支:git fetch origin
:
# 文件暂存
- 添加改动到 stash:git stash save -a "message"
- 删除暂存:git stash drop <stash@{ID}>
- 查看 stash 列表:git stash list
- 删除全部缓存:gitstash clear
- 恢复改动:git stash pop <stash@{ID}>
# 花式撤销
- 撤销工作区修改:git checkout --
- 暂存区文件撤销(不覆盖工作区):git rest HEAD
- 版本回退:git rest --(soft | mixed |hard) <HEAD ~(num)> |
- --hard:回退全部,包含 HEAD,index,working tree
- --mixed:回退部分,包括 HEAD,index
- --soft:只回退 HEAD
# 文档查询
- 展示 Git 命令大全:git help (--help)
- 展示 Git 命令大纲全部列表:git help -a
- 展示具体命令说明手册:git help
# 分支管理规范
# master 分支
- 主分支,用户部署生产环境的分支,确保稳定
- maser 分支一般由 develop 以及 hotfix分支合并,任何情况下都不能直接修改代码
# develop 分支
- develop 为开发分支,通常情况下,保存最新完成以及 bug 修复后的代码
- 开发新功能时,feature 分支都是基于 develop 分支下创建的
# feature 分支
- 开发功能,基于 develop 为基础创建 feature 分支
- 分支命令:feature/开头的为腾讯分支,命令规则:feature/user_module、feature/cart_module
# release 分支
- release 为预上线分支,发布提测阶段,会 release 分支代码为基准提测
# hotfix 分支
- 线上出现紧急问题时,需要及时修复,以 master 分支为基线,创建 hotfix 分支,修复完成后,需要合并到 master 分支和 develop 分支。
# 差异比较
- 比较工作区与缓存区:git diff
- 比较缓存区与本地库最近一次 commit 内容:git diff --cached
- 比较工作区与本地最近一次 commit 内容:git diff HEAD
- 比较两个 commit 之间差异:git diff
# 基本概念
- 版本库.git 文件:当我们使用 git 管理文件时,一般它会多出一个.git 文件,我们将此称之为版本库
- 工作区:本地项目存放文件的位置 暂存区:顾名思义就是暂时存放文件的地方,通过 add 命令将工作区的文件添加到缓存区
- 本地仓库:通常情况下,我们使用 commit 命令可以将暂存区的文件添加到本地仓库
- 远程仓库:举个例子,当我们使用 GitHub 托管我们项目时,它就是一个远程仓库
# Git 文件状态
通过命令 git status 查看文件状态
- untracked:在暂存区没有该文件
- modified:被修改的文件
- staged:使用 git add 暂存的文件