git常用命令
程序员必备技能之 Git
常用命令
拉取代码
sh
git clone xxx.git创建分支
sh
git branch dev
# or
git checkout -b dev
# or
git switch -c dev切换本地分支
sh
git checkout dev
# or
git switch dev切换分支并关联远程分支
sh
git checkout -b dev origin/dev
# or
git checkout --track origin/dev查看本地所有分支
sh
git branch查看远程所有分支
sh
git branch -r删除本地分支
sh
git branch -d dev删除远程分支
sh
git push origin -d dev将代码从工作区添加暂存区
sh
git add .查看尚未暂存的更新
sh
git diff添加提交信息(commit 注释写错,执行 git commit --amend 此时会进入默认 vim 编辑器,修改注释后保存)
sh
git commit -m 'xxxx'推送代码到远程分支
sh
git push origin dev
# 强制推送(常在 git rebase 或 git reset 后使用)
git push -f origin dev拉取远程分支代码
sh
git pull origin dev合并分支
sh
git merge dev查看 git 状态
sh
git status查看提交历史
sh
git log查看可引用的历史版本记录
sh
git reflog把本地未 push 的分叉提交历史整理成直线
sh
git rebase origin/dev回到 rebase 执行之前的状态
sh
git rebase --abort回退版本
sh
# 回退指定 commit_id 版本
git reset --hard commit_id
# 回退上一个版本
git reset --soft HEAD^
# or
git reset --soft HEAD~1撤销代码
sh
git 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添加用户名
sh
git config --global --add user.name newName删除用户名
sh
git config --global --unset user.name修改用户名
sh
git config --global user.name newName配置 Git 用户名和邮箱
sh
# 用户名
git config --global user.name "Your Name"
# 邮箱
git config --global user.email "email@example.com"统计代码行数
sh
git 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: 修复问题/BUGstyle: 代码风格相关无影响运行结果的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)提示维护者进行 reviewTL;DR(Too Long; Didn't Read)太长懒得看TBD(To Be Done(or Defined/Discussed/Decided/Determined)) 一般表示还没搞定
简单易懂的 Git视频教程推荐


