git 规范化使用
最近在抖音刷到很多说实习生刚到公司不会用git,合错代码没干到第二天就被炒了hhhh不过这是段子,因为只要我们遵守规范流程一般不会出现什么问题,并且大多数学生在学软件工程的时候学校老师也会让使用git,所以不至于一点都不了解。接下来就让我讲一下一般的规范流程和特殊情况的应对
1. 工具
我们可以直接使用命令行,但是要时刻注意自己所在分支,也可以使用自带的GUI虽然有点简陋,也可以使用sourcetree这种比较好用的可视化工具,不过我还是更推荐直接使用idea的插件,毕竟开发完之后可以直接操作非常方便,虽然非常复杂的操作可能不用sourcetree和命令行,但是说了安装规范来不会出现这种情况一般
2.流程
一般公司会有多个分支,远程分支master 线上,dev 开发环境 一般是联调用,test 测试环境,bugfix 本地修bug ,feature 版本开发等。不同公司不一样。一般来说就是
- git clone 把master拉下来
- 用idea 打开,接下来的git操作在idea上执行就行
- 从master提取分支,假设你是开发的2.2.1版本,你就起名和这个相关的,放到feature文件夹下,一般公司有规范
- 开发完就可以提交到远端 commit和push 鼠标点点就行,可以让你的leader去review
- 没问题了就合并到dev,一般是不会直接合并到master的因为还没测试,当然一般也合不上
- 测试完能上线,可能就由测试或者运维或者其他人去合并到master
3. 错误操作补救
在跟进多个版本或者说debug的时候开了很多分支,一时晕了操作错了这种情况很多小白都会出现,所以不用怕
- 比如说你本来是在feature/v2.2.1分支上开发,但是有个同事让你临时改一下另一个版本的东西什么的,例如是v2.2.2的,但是你忘记切换分支了,在2.2.1上写了怎么办
- a. 没commit, 我们可以使用stash change ,然后 切换分支后点击unstash 就行
- b. commit了 ,可以直接在该提交记录那右键选择undo commit ,然后进行a操作
- c. push了,因为远程的分支被弄“脏”了,所以我们要回滚掉,右键记录revert
revert其实就是把这个记录做的修改进行删除,接着再push就行,远程的也就被还原了 ,最后切换为v2.2.2我们真正要开发的分支,接着点击刚刚的v2.2.1分支找到错误push的那个记录右键点击cherry pick就可以了,cherry pick就是把这个记录复制过来
- a. 没commit, 我们可以使用stash change ,然后 切换分支后点击unstash 就行
4. 总结
git的命令很多,但是其实我们要掌握的就只有clone ,add ,commit ,push ,pull ,merge ,fetch ,cherry pick,checkout ,revert,reset并且我们使用图形化界面也不需要复杂操作和过多命令的记忆,如果是命令行则要注意分支,和版本号。如果还有不懂或者不敢操作的,可以直接请教leader一般都很仁慈的毕竟是实习,要是因为不敢请教导致别人代码冲突可能就要真的挨骂了hhhh