序言
很多小伙伴刚参与团队项目开发的时候一定会遇到一个项目管理的问题——git版本控制
老大:
- “项目在git上,你拉下来。然后新建一个分支开发就好了。”
相信很多刚入行的小伙伴听到这句话就一脸懵逼,“git是什么?拉下来?新建分支又是什么鬼”,机智的小伙伴一定不会忘记进行这样一个操作——谷歌。
这时候小伙伴才恍然大悟,git原来是一个项目管理工具,团队开发共同维护代码的仓库,也方便开发人员进行版本控制。但是看到又那么多命令要学习,又看不懂报错信息,还有代码冲突,合并代码等操作,小伙伴一定会感到非常的恐惧和困惑。
小伙伴:
- “我怎么上传代码呀?git add ?;git commit?”
- “为什么我按照教程输入命令了还报错?”
- “这是个什么鬼错误信息,百度一下解决方案?还是不行。”
- “怎么提示我没有权限提交代码呀?”
- ....
好吧,今天的内容就分享一下,我在项目开发过程中如何使用phpstorm IDE图形化操作来进行版本控制(个人一开始是用的命令行,但是为了方便直观的操作和解决问题,我习惯于图形化操作哈),然后会把我遇到的坑跟大家标记出来,ε=(´ο`*)))唉,都是经验之谈啊!
教程
前期准备
首先,你先下载个phpstorm的工具,安装好git,拥有一个项目的代码的上传下载权限(假设developer身份,不是项目拥有者)
新建项目
你的项目经理新建了一个项目,并拉你为developer
![](https://img.haomeiwen.com/i7429691/904a30d283957f7d.png)
- 项目经理:“xx项目已经创建,你新建个分支可以提交代码”
这时候你要勇敢的告诉你的大佬
- “项目(master分支)是空的,麻烦初始化下master,我这边才有权限将新建的分支提交上去”(第一个坑)
项目初始化中
这部分就用了命令行来进行,跟后面的IDE操作来个对比。
![](https://img.haomeiwen.com/i7429691/a3e2379a683191fb.png)
![](https://img.haomeiwen.com/i7429691/557ef5acc450e215.png)
新建分支开发
好啦,小伙伴这时候你就可以把初始化项目拉下来,新建分支,编辑代码,添加,提交,上传。
- 小伙伴:“可是我现在还不知道怎么做,能不能说详细一点呢,或者你操作一遍?”
好吧,谁叫你们是新手呢?那我就带着你们操作,你可要看清楚啊,不明白的可以做下笔记,反复练习。
- “首先,在你本地目录,把项目代码克隆下来,就想刚刚那样”
- “git clone https://gitlab.com/dgutbenny/test201903010.g”
- “用phpstorm打开项目,如图”
![](https://img.haomeiwen.com/i7429691/ebffb034d3bf6181.png)
新建分支
![](https://img.haomeiwen.com/i7429691/149759990eebd335.png)
![](https://img.haomeiwen.com/i7429691/20186572fee5107e.png)
![](https://img.haomeiwen.com/i7429691/21cea2bac1ff7514.png)
- “有提示,Branch dev was created”
你在疯狂敲代码中。。。
![](https://img.haomeiwen.com/i7429691/202725e0e8c9a097.png)
- “如果红框是红色的,表示还未添加(add),这时候你可以右键选择git,选择add,添加完成变成绿色未提交(commit)状态”(第二个坑)
提交上传代码
![](https://img.haomeiwen.com/i7429691/76699db09b103a2d.png)
![](https://img.haomeiwen.com/i7429691/da4553332aa326c0.png)
- “红框,你可选择你要提交的代码文件(比如本地你改了某个文件,但你还不想上传到git仓库上去给别人看到,你可不勾选)”
- “篮框,此次提交代码的注释(千万一定要加注释,并且写清楚你提交的内容是什么,千万不要是test,fix,优化这类模糊词语)”(第三个坑)
- “绿框,你可以在这里review每一个文件的代码(这是一步比较重要的步骤,很多人都特别自信自己写的代码,忽略找一个review的操作是错误的)”
- “黄框,可以对你提交的代码格式进行一些处理(可以百度下具体的意思,当然,你英语不错的话另外)”
image.png
![](https://img.haomeiwen.com/i7429691/67fc139220aed0c2.png)
捕获线上分支
这时候,你已经写代码并上传了代码,
- 小伙伴很开心样子:“大佬,我代码写好了,在dev分支,你看下代码,没问题就提测”
- 大佬:“好的”
现在是在大佬本地上的IDE
![](https://img.haomeiwen.com/i7429691/c5d321efbd59ec69.png)
- “提示,Fetched successfully”,然后查看分支
![](https://img.haomeiwen.com/i7429691/7cc26d0a859859c5.png)
![](https://img.haomeiwen.com/i7429691/ed1466b0e2557803.png)
解决冲突问题
“为了解决冲突,首先咱们先制造点冲突才有可能来解决冲突是ლ(′◉❥◉`ლ)嘛”,我先在本地是另外一个目录,克隆下项目代码,修改了代码hello benny,然后进行上线续的代码添加、提交、上传操作。
![](https://img.haomeiwen.com/i7429691/1958b4d05945487b.png)
哈哈,小伙伴并不知道大佬改了代码,自己检查了一会代码后,发现有个小地方还是要改的,改完代码后进行提交(没有重新拉取‘pull’线上新代码)。(第四个坑)
命令行显示错误
![](https://img.haomeiwen.com/i7429691/76495a425c63e454.png)
phpstorm显示冲突代码
![](https://img.haomeiwen.com/i7429691/c7db5744fbb7156c.png)
可进行如下操作:git pull,解决冲突
![](https://img.haomeiwen.com/i7429691/2c9b4d1ce1e7f79b.png)
![](https://img.haomeiwen.com/i7429691/9bd710540f767413.png)
- “左边是本地代码,中间是解决冲突后的结果代码,右边是线上代码(他人代码)”(我们取本地的代码为最新代码,Apply,然后提交代码)
![](https://img.haomeiwen.com/i7429691/e6d4776d8ab70c25.png)
![](https://img.haomeiwen.com/i7429691/114d4b953192cf38.png)
![](https://img.haomeiwen.com/i7429691/8e190247269ddb56.png)
合并代码
项目开发的时候,我们是一直在dev分支上进行的,现在要把dev分支上的内容合并到master分支准备代码上线。
步骤如下:
- 切换到master分支
- 拉取master最新代码(dev分支上的代码也要最新的)(第五个坑)
- 执行命令合并(git merge dev)
![](https://img.haomeiwen.com/i7429691/a3f61295ac2927a0.png)
![](https://img.haomeiwen.com/i7429691/60fa9415ab555e68.png)
结语
是不是很神奇,是不是学到了点东西?开题的几个疑问你都解决了吗?没有可以回过头翻翻重复看几遍哦。总的来说,实践才是最好的学习方式,没事下班了多多总结自己在项目开发中的经验也是一种美。另外,有任何疑问可以私底下交流哦。
网友评论