常用git命令

150 阅读2分钟

基本开发流程

git clone <仓库地址>
git checkout <迭代分支>
git pull --rebase //  拉取当前分支最新代码
git checkout -b <自己的修复分支>

写逻辑......

git add .
git commit -m 'message xxxxx'  //  下面有commit规范
git push --set-upstream <自己的修复分支>   // 第一次提交

多人协作流程

git checkout <迭代分支>
git pull --rebase //  拉取当前分支最新代码
git checkout -b <自己的修复分支>

写逻辑......

git add .
git commit -m 'message xxxxx'  //  下面有commit规范
if(迭代分支上有其他人更新的代码){
    git checkout <迭代分支> 
    git pull --rebase
    git checkout <自己的修复分支>
    git rebase <迭代分支> // 将自己的分支基线同步为迭代分支的基线  (可能会有冲突)
}
git push --set-upstream <自己的修复分支>   // 第一次提交

git如何撤销之前 commit 的代码 ?

// 回退到之前的某个版本 比如 有 A B C 三次提交  我想撤回到B 状态 则 git reset  B  代码提交基线为 A B  
git reset  

// 代码回滚到指定的版本 比如 有 A B C 三次提交  我想更改到B提交的代码 git revert B 会把 B的提交重新拉回来 此时修改完 commit 之后 代码基线为 A B C D
git revert 

// 注意: git reset 撤销到某次提交  git revert 撤销某次提交
[git stash]

假如当你在A分支上开发代码 代码还没开发完成,此时你要去B分支上改另一个着急的bug 
这个时候就需要用到 stash 贮存代码

git stash  把当前修改的代码贮存起来  
 // 在此期间可以 git checkout b  切换到b分支去更改bug
// 完成之后可切换到A分支继续弹出开发
git stash pop    弹出当前贮存的代码继续开发

[git cherry-pick]

将指定的提交(commit)应用于其他分支
git cherrt-pick <commitId>

commit 规范 git commit -m 'type: subject'

  • type  提交 commit 的类型,包括以下几种:
    • feat : 新功能
    • fix : 修复问题
    • docs : 修改文档
    • style : 修改代码格式,不影响代码逻辑
    • refactor : 重构代码,理论上不影响现有功能
    • perf : 提升性能
    • test : 增加修改测试用例
    • chore : 修改工具相关(包括但不限于文档、代码生成等)
    • deps : 升级依赖
  • subject  用一句话清楚的描述这次提交做了什么