Git
shgit clone xxx.git
shgit branch dev
# or
git checkout -b dev
# or
git switch -c dev
shgit checkout dev
# or
git switch dev
shgit checkout -b dev origin/dev
# or
git checkout --track origin/dev
shgit branch
shgit branch -r
shgit branch -d dev
shgit push origin -d dev
shgit add .
shgit diff
commit
注释写错,执行 git commit --amend
此时会进入默认 vim
编辑器,修改注释后保存)shgit commit -m 'xxxx'
shgit push origin dev
# 强制推送(常在 git rebase 或 git reset 后使用)
git push -f origin dev
shgit pull origin dev
shgit merge dev
git
状态shgit status
shgit log
shgit reflog
push
的分叉提交历史整理成直线shgit rebase origin/dev
rebase
执行之前的状态shgit rebase --abort
sh# 回退指定 commit_id 版本
git reset --hard commit_id
# 回退上一个版本
git reset --soft HEAD^
# or
git reset --soft HEAD~1
shgit revert commit_id
sh# 第一步
git branch -m oldBranchName newBranchName
# 第二步
git push origin :oldBranchName
# 第三步
git push --set-upstream origin newBranchName
git
配置sh# 查看全局配置
git config --global --list
# 查看用户名
git config --global user.name
shgit config --global --add user.name newName
shgit config --global --unset user.name
shgit config --global user.name newName
Git
用户名和邮箱sh# 用户名
git config --global user.name "Your Name"
# 邮箱
git config --global user.email "email@example.com"
shgit ls-files | xargs wc -l
Git
在 Windows
和 macOS
的默认文件系统中对文件大小写修改是不敏感的。可能你会先删除文件并提交,然后再新建文件再提交,这样做很麻烦,下面的 git mv
就简化了繁琐的操作
比如文件 filename.ts
或文件夹 jsutils
,它们的相对路径分别是 src/filename.ts
和 src/jsutils
sh# 将 filename.ts 文件重命名为 fileName.ts,分下面两步
# 第一步(注意下面的 name.ts 与 filename.ts 是不同的,如果你把 name.ts 改为 fileName.ts 是不行的,因为上面讲了仅大小写不同是不行的)
git mv src/filename.ts src/name.ts
# 第二步
git mv src/name.ts src/fileName.ts
# 将 jsutils 文件夹重命名为 jsUtils,分下面两步
# 第一步
git mv src/jsutils src/utils
# 第二步
git mv src/utils src/jsUtils
feat: 增加新功能
fix: 修复问题/BUG
style: 代码风格相关无影响运行结果的
perf: 优化/性能提升
refactor: 重构
revert: 撤销修改
test: 测试相关
docs: 文档/注释
chore: 依赖更新/脚手架配置修改等
workflow: 工作流改进
ci: 持续集成
types: 类型定义文件更改
wip: 开发中
CodeReview
常用缩写PR
(Pull Request)拉取请求,给其他项目提交代码
LGTM
(Looks Good To Me)代码已经过 review,可以合并
SGTM
(Sounds Good To Me)和上面那句意思差不多,也是已经通过了 review 的意思
WIP
(Work In Progress)如果有个改动很大的 PR,可以在写了一部分的情况下先提交,但需在标题写上 WIP,以告诉项目维护者这个功能还未完成,方便维护者提前 review 部分提交的代码
PTAL
(Please Take A Look)提示别人来看一下
TBR
(To Be Reviewed)提示维护者进行 review
TL;DR
(Too Long; Didn't Read)太长懒得看
TBD
(To Be Done(or Defined/Discussed/Decided/Determined)) 一般表示还没搞定
本文作者:皓月归尘
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!