PancrasL的博客

git 的使用小技巧

2021-03-29

git

1. 分支管理

  • master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;

  • 干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;

  • 你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

  • 功能(feature)分支

      * 预发布(release)分支

      * 修补bug(fixbug)分支

    这三种分支都属于临时性需要,使用完以后,应该删除,使得代码库的常设分支始终只有Master和Develop。

image-20210329192800110

2. Git常用命令

2.1 分支切换

切换分支到某个提交记录

1
2
3
4
# 切换到指定的commit
$ git branch -f main <commit>
# 切换到main的上一个commit
$ git branch -f main main^4

回退分支

1
2
3
4
# 将分支branch回退到上一个commit(对远程无效)
$ git reset branch^1
# 新建一个commit,用来撤销本次的commit(对远程有效)
$ git revert branch

重置gitignore

1
2
3
$ git rm -r --cached .
$ git add .
$ git commit -m 'update .gitignore'

2.2 分支拉取

拉取远程仓库的分支

1
2
$ git fetch origin [my-branch]
$ git pull orgin [my-branch]

2.3 commit提交

git cherry-pick

1
2
# 将一些提交复制到当前所在的位置(HEAD)下面
$ git cherry-pick <commit>

合并本地分支的commit

1
2
$ git rebase -i head~5
# 然后将希望去掉的commit改为s

修改commit信息

1
2
3
4
5
$ git rebase -i head~5
# 然后将希望去掉的commit改为edit
$ git commit --amend
# 修改提交信息
$ git rebase --continue

推送本地分支到远程

1
$ git push -u origin  my-branch

仓库相关

1
2
3
4
5
6
7
echo "# sparrow-rpc-framework" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:PancrasL/sparrow-rpc-framework.git
git push -u origin main

3. 规范

1
2
3
4
5
6
7
8
docs: 文档相关
feature: 新增feature
bugfix: 修复bug
optimize: 代码优化
style: 仅仅是对格式进行修改,如逗号、缩进、空格等。不改变代码逻辑
refactor: 代码重构,没有新增功能或修复bug
test: 测试用例,包括单元测试、集成测试
revert: 版本回滚

Reference: