Skip to content

常见git命令

January 27, 2023 | 06:00 PM

常见的git命令

以下参考自 ohmyzsh git

简写(Alias)对应命令详情
gaagit add —all添加当前项目所有文件修改、增删的文件到缓存区
gbgit branch查看分支列表
gc!git commit -v —amend修正上次提交,像 reabase 一样操作,每次提交执行一次,覆盖上一次提交,即可保证只有一个 commit
gcbgit checkout -b基于当前分支切换新的分支
gcpgit cherry-pick根据 commitId 拿某一次的提交
gbDgit branch -D删除分支
glodsgit log —graph —date=short查看提交记录
gpfgit push —force强制推送,一般用于 reabase 之后

删除其它分支

这个是我经常会用到的,因为本地开发多次之后,使用 git branch 之后会发现有很多分支还在,为了保证「干净卫生」,所以就了解一下,可以执行如下命令。

可以删除除开 master 以外的分支,但类似 mr/master/xxx 这样的带有 master 的删除不了。

git stash && git checkout master && git branch | grep -v "master" | xargs git branch -D

同上。

git stash && git checkout release && git branch | grep -v "release" | xargs git branch -D

rebase

rebase 命令很强大,git rebase -i HEAD~[num]git pull --rebase 等。

推荐阅读 彻底搞懂 Git-Rebase

查看完整信息

谁用谁知道!

git reflog

借助工具

vscode GitLens 插件挺好用的。

git commit 提交规范

这里以 coding 工作台为例子,其它代码托管平台可能需要修改一下正则。

^(feat|fix|docs|style|refactor|perf|test|build|revert|merge|chore)(\(.+\))?:\s+(.*)#[0-9]+\s+|^(Accept Merge Request)\s+#[0-9]+:\s+(\(.+\s+->\s+.+\))

书写工具辅助

第一种:

全局安装 commitizen,即可使用 git cz 命令取代 git commit,提供交互式选择界面,协助书写。

npm install -g commitizen cz-conventional-changelog
echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc

参考阅读 Commit Message

第二种:

更花哨一点,使用 git-cz

npx git-cz

// or

npm install -g commitizen
npm install --save-dev git-cz