Git常用命令及commit规范

Git常用命令及commit规范

  • rebase
  • fetch
  • stash
  • commit信息规范

rebase

git rebase -i <commitId>

该命令用于合并指定commitId之后的commit为一个新的commit,合并相同的提交信息,可以使项目的提交记录更加清晰。

执行该命令会打开一个交互窗口

pick f7f3f6d Change my name a bit
pick 310154e Update README formatting and add blame
pick a5f4a0d Add cat-file

进行修改

pick f7f3f6d Change my name a bit
s 310154e Update README formatting and add blame
s a5f4a0d Add cat-file

将后两条合并到第一条提交记录中,保存后打开新的窗口,输入新的提交信息,就会生成合并后的commit。

fetch

get fetch will download remote content but not update your local repo’s working state.

get pull will download remote content for the active local branch and immediately excute get merge to create a merge commit for the new remote content.

git fetch origin master:tmp

创建分支tmp并将远程master分支pull到master。

stash

工作中开发新功能时,本地新开一个branch进行开发,此时线上出现故障要修复bug,可使用stash命令将当前branch未完成的工作保存到暂存区,随即切换到新branch进行修复。
修复bug完成后切回原来branch从暂存区恢复之前工作状态继续新功能开发。

存入工作占存区并写注释

git stash save 'commit info...'

从工作暂存区取暂存记录不删除

git stash apply stash{1}

清除所有暂存记录

git stash clear

commit信息规范

项目团队要遵循统一的commit提交规范,可使项目提交信息更加清晰,便于管理与团队合作。

目前业界没有统一的commit规范,AngularJs的git commit message是当前比较流行的,以github上的提交信息为例:

Git常用命令及commit规范_第1张图片
其中chore表示类型,benchpress表示所属功能模块,然后加上提交说明,类型一共有9种:
Git常用命令及commit规范_第2张图片
这样的好处是可以根据功能在提交记录进行搜索,某年某月对某功能进行了某种类型的修改,方便问题定位(甩锅……)

你可能感兴趣的:(git,github,敏捷流程)