git常用命令
# 程序员必备技能之 Git
# 常用命令
# 拉取代码
git clone xxx.git
1
# 创建分支
git branch dev
# or
git checkout -b dev
# or
git switch -c dev
1
2
3
4
5
2
3
4
5
# 切换本地分支
git checkout dev
# or
git switch dev
1
2
3
2
3
# 切换分支并关联远程分支
git checkout -b dev origin/dev
# or
git checkout --track origin/dev
1
2
3
2
3
# 查看本地所有分支
git branch
1
# 查看远程所有分支
git branch -r
1
# 删除本地分支
git branch -d dev
1
# 删除远程分支
git push origin -d dev
1
# 将代码从工作区添加暂存区
git add .
1
# 查看尚未暂存的更新
git diff
1
# 添加提交信息(commit
注释写错,执行 git commit --amend
此时会进入默认 vim
编辑器,修改注释后保存)
git commit -m 'xxxx'
1
# 推送代码到远程分支
git push origin dev
# 强制推送(常在 git rebase 或 git reset 后使用)
git push -f origin dev
1
2
3
4
2
3
4
# 拉取远程分支代码
git pull origin dev
1
# 合并分支
git merge dev
1
# 查看 git
状态
git status
1
# 查看提交历史
git log
1
# 查看可引用的历史版本记录
git reflog
1
# 把本地未 push
的分叉提交历史整理成直线
git rebase origin/dev
1
# 回到 rebase
执行之前的状态
git rebase --abort
1
# 回退版本
# 回退指定 commit_id 版本
git reset --hard commit_id
# 回退上一个版本
git reset --soft HEAD^
# or
git reset --soft HEAD~1
1
2
3
4
5
6
7
2
3
4
5
6
7
# 撤销代码
git revert commit_id
1
# 修改分支名
# 第一步
git branch -m oldBranchName newBranchName
# 第二步
git push origin :oldBranchName
# 第三步
git push --set-upstream origin newBranchName
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 查看 git
配置
# 查看全局配置
git config --global --list
# 查看用户名
git config --global user.name
1
2
3
4
5
2
3
4
5
# 添加用户名
git config --global --add user.name newName
1
# 删除用户名
git config --global --unset user.name
1
# 修改用户名
git config --global user.name newName
1
# 配置 Git
用户名和邮箱
# 用户名
git config --global user.name "Your Name"
# 邮箱
git config --global user.email "[email protected]"
1
2
3
4
5
2
3
4
5
# 统计代码行数
git ls-files | xargs wc -l
1
# 文件或文件夹重命名
Git
在 Windows
和 macOS
的默认文件系统中对文件大小写修改是不敏感的。可能你会先删除文件并提交,然后再新建文件再提交,这样做很麻烦,下面的 git mv
就简化了繁琐的操作
比如文件 filename.ts
或文件夹 jsutils
,它们的相对路径分别是 src/filename.ts
和 src/jsutils
# 将 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
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 提交规范
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)) 一般表示还没搞定
上次更新: 2024/11/27, 08:11:02