1、配置命令
-
列出当前配置: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"
2、分支管理
-
查看本地分支:git branch
-
查看远程分支:git branch -r
-
查看本地分支和远程分支:git branch -a
-
从当前分支,切换到其他分支:git checkout <branch-name>
-
创建并切换到新分支:git checkout -b <branch-name>
-
删除分支:git branch -d <branch-name>
-
当前分支与指定分支合并:git merge <branch-name>
-
查看哪些分支已合并到当前分支:git branch --marged
-
插卡哪些分支没有合并到当前分支:git branch --no-merged
-
查看各个分支最后一个提交对象的信息:git branch -v
-
删除远程分支:git push origin --d <branch-name>
-
重命名分支:git branch -m <oldbranch-name> <newbranch-name>
-
拉取远程分支并创建本地分支:git checkout -b 本地分支名 x origin/远程分支名 x
3、fetch 指令
-
将某个远程主机的更新,全部取回本地:git fetch <远程主机名称>
-
取回特定分支:git fetch <远程主机名称> <分支名>
-
取回特定分支,并拉取到本地分支:git fetch origin <branch-name>:<local-name>
4、文件暂存
-
添加改动到 stash:git stash save -a "message"
-
删除暂存:git stash drop <stash@{ID}>
-
查看 stash 列表:git stash list
-
删除全部缓存:gitstash clear
-
恢复改动:git stash pop <stash@{ID}>
花式撤销
-
撤销工作区修改:git checkout -- <file>
-
暂存区文件撤销(不覆盖工作区):git rest HEAD <file>
-
版本回退:git rest --(soft | mixed |hard) <HEAD ~(num)> | <commit ID>
-
--hard:回退全部,包含 HEAD,index,working tree
-
--mixed:回退部分,包括 HEAD,index
-
--soft:只回退 HEAD
-
5、文档查询
-
展示 Git 命令大全:git help (--help)
-
展示 Git 命令大纲全部列表:git help -a
-
展示具体命令说明手册:git help <command>
6、分支管理规范
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 分支。
7、差异比较
-
比较工作区与缓存区:git diff
-
比较缓存区与本地库最近一次 commit 内容:git diff --cached
-
比较工作区与本地最近一次 commit 内容:git diff HEAD
-
比较两个 commit 之间差异:git diff <commit ID> <commit ID>
8、基本概念
-
版本库.git 文件:当我们使用 git 管理文件时,一般它会多出一个.git 文件,我们将此称之为版本库
-
工作区:本地项目存放文件的位置
-
暂存区:顾名思义就是暂时存放文件的地方,通过 add 命令将工作区的文件添加到缓存区
-
本地仓库:通常情况下,我们使用 commit 命令可以将暂存区的文件添加到本地仓库
-
远程仓库:举个例子,当我们使用 GitHub 托管我们项目时,它就是一个远程仓库
9、Git 文件状态
通过命令 git status 查看文件状态
-
untracked:在暂存区没有该文件
-
modified:被修改的文件
-
staged:使用 git add 暂存的文件