一、托管仓库选择
- 代码托管仓库主要有:
github
、gitlab
、gitee
。
- github: 是一个基于
git
实现在线代码托管的仓库,向互联网开放,企业版要收钱。
- gitlab: 类似
github
,一般用于在企业内搭建 git
私服,要自己搭环境。
- gitee: 即码云,是
oschina
免费给企业用的,不用自己搭建环境。
- 但是一般企业中选择托管仓库时候,会考虑到
github
针对企业要收费,那当然是不同意,毕竟都想节约资金,那就还能使用 gitee
,或者 gitlab
了。而 gitee
虽然是免费的,而且不用自己搭环境,但是 企业中把项目放在别人的服务器上,始终没有安全感。 因此,衍生出了gitlab
,就是用于企业搭私服,而且还是在自己的服务器上,更加的安全。

二、代码推送流程
- 居家办公,最重要的就是代码合并的问题
- 也就是你提交的代码,不能干扰其他的人代码,要做到
一人一分支
,这样有问题,就可以追根溯源
- 正常的企业代码开发流程,是你提交自己的代码到远程自己的分支
- 然后将自己的分支合并到测试分支上
- 在测试没问题后,才可以将你的分支合并到线上主分支上

三、分支操作
- 要想提交代码到分支,首先你得创建属于自己的分支
- 很多公司都是管理员帮你创建好了,当然你也可以自己创建
- 这里贴一下分支
创建
、切换
、删除
等操作
git checkout -b 分支名
git branch
git push origin 本地分支名:远程分支名
git push origin :远程分支名
git push origin --delete 远程分支名
四、代码推送
- 通常领导分发了功能开发任务后
- 你在本地开发完毕,需要将其推送到你自己的远程分支
- 再合并到 dev 分支进行测试
git add ./
git commit -m"这是一个备注"
git push origin <本地分支名>:<远程分支名>
五、冲突处理
- 在代码统一管理的时候,一个文件可能会被多个开发者进行操作
- 很容易别人修改了某个文件,你对该文件也进行了修改
- 这就会造成代码,如何处理冲突在协同开发中是很重要的工作能力
- 因为多人开发,不可避免会产生编辑冲突
- 而产生冲突后,控制台会告诉你那个文件产生了冲突
- 冲突标记
<<<<<<<
与 =======
之间的内容是自己的修改内容
- 而
=======
与 >>>>>>>
之间的内容是别人的修改
- 将这有冲突的地方进行处理完,再进行提交即可
this is
<<<<<<< HEAD
excel
=======
pdf
>>>>>>> 6853e5ff961e684d3a6c02d4d06183b5ff330dcc
file
---------------------------------------------------
git add 冲突文件名
git commit -m "xxx"
git push
git reset --hard
六、登陆开发实战
- 比如要开发一个登录功能,领导分配给了你
- 首先,从
develop
上检出新分支 feature-login
分支至本地开发
- 完成开发后,push至远程
feature-login
- 此时我们需要测试新增的登录功能,那么,我们应该发起一个
marge request(pr)
至 release
分支(上文所说的测试分支),开发老大(管理员)同意 pr
,即成功合并至 release
分支
- 然后走测试流程
- 测试通过后,准备上线,那么,需要从
feature-login
分支发起 pr
至 develop
分支,管理员审核后,由管理员操作 develop
分支,合并至 master
git clone -b dev git@github.com:lichihua/test.git devdir
git checkout dev
git pull
git checkout -b feature-login
git push origin feature-login[:feature-login]
git pull
git branch --set-upstream-to=origin/feature-login
git pull
git add .
git commit -m "xxx"
git push
七、分支合并
git checkout -b release(新建并切换分支)
git pull(拉去最新的代码)
2、查看分支
git branch -a(查看所有分支:本地分支白色,当前分支绿色,远程分支红色)
3、合并分支
git merge feature-login
4、查看状态
git status(这里可以看到是否有冲突:conflict,或者修改:modify)
5、有冲突,通过IDE/编辑器解决
6、解决后,提交至暂存区
git add .
7、提交
git commit -m "说点什么"
8、推送
git push(已提交的变动推送至远程)
9、测试
文章来源:https://xie.infoq.cn/article/40920ce1daa19aed66c5b0c91