git的分支命令
实习期间对公司的git操作(命令行)正式实战
1.从已有的项目克隆下来:
git clone +地址
如果使用的公司的需要更改一下地址(指定分支dev:-b dev)
1 | git clone -b dev git@github.com:example.git |
1 | git clone -b dev git@company.github.com:example.git |
2.在dev的分支下拉出自己将要开发的新分支
1 | git switch -c wesley/index |
3.可以查看一下分支:
1 | git branch |
一般公司的项目下可能会有master(创建仓库时默认生成),dev(开发分支),staging(测试分支)
我们从dev拉取最新的代码,然后再本地创建自己的分支,在自己的分支上进行开发,然后push到dev分支,在github上提交PR,让同事进行code review,然后再在线上手动进行合并到dev
4.更改完项目后,提交到本地仓库
1 | git add . |
feat: 新增 feature
fix: 修复 bug
docs: 仅仅修改了文档,比如 README, CHANGELOG, CONTRIBUTE等等
style: 仅仅修改了空格、格式缩进、逗号等等,不改变代码逻辑
refactor: 代码重构,没有加新功能或者修复 bug
perf: 优化相关,比如提升性能、体验
test: 测试用例,包括单元测试、集成测试等
chore: 改变构建流程、或者增加依赖库、工具等
revert: 回滚到上一个版本
5.到dev主分支去拉取最新的dev代码(可能你开发的时候有别的同事提了新的代码到dev上)
1 | git switch dev |
6.再回到分支上去,进行
1 | git rebase dev |
如果有冲突的话,就去解决冲突,解决完后:
1 | git add . |
直到出现下图就算成功:
7.然后提交到本地仓库:
1 | git add . |
8.然后就可以去线上提PR
9.线上合并分支到dev后就把本地的分支也删除,然后拉一下最新的代码
1 | git branch -d song |
10.问题解决
如果push上去前忘记去pull最新的dev分支代码,就会导致提PR的时候不能自动合并的:
先去把主分支上的代码拉取到最新
1 | git checkout dev |
再切换到自己的开发分支,rebase(这时候会提示有冲突,去解决冲突)
1 | git checkout wesley |
改完之后,把改过的文件添加一次(这里add后就不需要在提交了)
1 | git add . |
再去rebase
1 | git rebase --continue |
这时可能还会出现冲突,就要继续去更改冲突,再add,直到这条命令返回
Applying :……
冲突完成后就可以推送了
1 | git push origin wesley |
强推:(慎用,一般如果是推到自己的线上分支就可以这么做,可以直接覆盖线上自己的分支)
1 | git push origin wesley --force |
不用强推的话,这时会出现本地的和线上的冲突
这时拉取一下最新的线上当前分支
1 | git pull origin wesley |
如果有冲突,再去解决冲突
1 | git add . |