2019-09-12-Git 指令学习
1. 主要命令
1. 基础篇
-
Git Commit
# 提交记录:提交项目修改内容 git commit "message"
Git 提交 message 格式:
<type>(<scope>): <subject> <BLANK LINE> <body> <BLANK LINE> <footer>
大致分为三个部分:
- 标题行: 必填, 描述主要修改类型和内容
- 主题内容: 描述为什么修改, 做了什么样的修改, 以及开发的思路等等
- 页脚注释: 放 Breaking Changes 或 Closed Issues
构成:
- type: commit 的类型
- feat: 新特性
- fix: 修改问题
- refactor: 代码重构
- docs: 文档修改
- style: 代码格式修改, 注意不是 css 修改
- test: 测试用例修改
- chore: 其他修改, 比如构建流程, 依赖管理.
- scope: commit 影响的范围, 比如: route, component, utils, build…
- subject: commit 的概述, 建议符合 50/72 formatting
- body: commit 具体修改内容, 可以分为多行, 建议符合 50/72 formatting
- footer: 一些备注, 通常是 BREAKING CHANGE 或修复的 bug 的链接
# 例如
git commit "feat add new"
git commit "fix test error"
-
Git Branch
Git 分支:简单的指向某个提交记录
创建分支并不会造成储存或内存上的开销
用于将分支和提交记录结合起来
# 新建分支 git branch newBranch #切换分支 git checkout newBranch #新建分支并切换 git checkout -b newBranch
-
分支与合并
# 在 Git 中合并两个分支时会产生一个特殊的提交记录,它有两个父节点。翻译成自然语言相当于:“我要把这两个父节点本身及它们所有的祖先都包含进来。”#把 newBranch 合并到 master 里 git checkout master git merge newBranch #再把 master 分支合并到 newBranch git checkout newBranch git merge master
-
Git Rebase
#Rebase:取出一系列的提交记录,“复制”它们,然后在另外一个地方逐个的放下去 #创建更线性的提交记录,提交历史异常清晰 #把 newBranch 分支里的工作直接移到 master 分支 git checkout newBranch git rebase master #此时原来 newBranch 的提交记录依然存在,而刚才的记录是 Rebase 到 master 分支的副本 #更新 master git checkout master git rebase newBranch
2. 高级篇
-
分离 HEAD
#HEAD 是一个对当前检出记录的符号引用——也就是指向你正在其基础上进行工作的提交记录。#HEAD 总是指向当前分支上最近一次提交记录。大多数修改提交树的 Git 命令都是从改变 HEAD 的指向开始的。#HEAD 通常情况下是指向分支名的(如 newBranch)。在你提交时,改变了 newBranch 的状态,这一变化通过 HEAD 变得可见。#查看 HEAD 指向 cat .git/HEAD #如果 HEAD 指向的是一个引用 git symbolic-ref HEAD #从 newBranch 分支中分离出 HEAD 并让其指向一个提交记录。#通过哈希值指定提交记录。每个提交记录的哈希值显示在代表提交记录的圆圈中。#此处假如 newBranch 分支下的提交记录的哈希值为 X git checkout X
欢迎邮箱交流:serendipity-zsh@foxmail.com