写点什么

高效的代码版本控制,让你居家办公游刃有余 | 社区征文

作者:极客飞兔
  • 2022 年 6 月 19 日
  • 本文字数:1850 字

    阅读完需:约 6 分钟

高效的代码版本控制,让你居家办公游刃有余 | 社区征文

一、托管仓库选择

  • 代码托管仓库主要有:githubgitlabgitee

  • 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 <<<<<<< HEADexcel=======pdf>>>>>>> 6853e5ff961e684d3a6c02d4d06183b5ff330dccfile---------------------------------------------------
// 解决冲突之后, 运行以下命令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 分支发起 prdevelop 分支,管理员审核后,由管理员操作 develop 分支,合并至 master

//克隆 dev分支 并自定义目录名(默认与远程仓库同名 test 且本地分支默认为dev)git clone -b dev git@github.com:lichihua/test.git devdir
//或者 切换dev分支并pull 获取代码(存在.git时可使用此法)git checkout devgit pull
//创建feature-login分支并切换git checkout -b feature-login
//把新建的分支push到远端git push origin feature-login[:feature-login]//拉取远端分支(会报错提示当前分支没有跟踪信息 需要关联到远程)
git pull//关联到远程git branch --set-upstream-to=origin/feature-login
//再次pullgit pull
// 完成开发后,push至远程feature-logingit add .git commit -m "xxx"git push
复制代码


七、分支合并

  • 将代码合并至 release 分支

git checkout -b release(新建并切换分支)  git pull(拉去最新的代码)
2、查看分支   git branch -a(查看所有分支:本地分支白色,当前分支绿色,远程分支红色)
3、合并分支   git merge feature-login4、查看状态   git status(这里可以看到是否有冲突:conflict,或者修改:modify)
5、有冲突,通过IDE/编辑器解决
6、解决后,提交至暂存区   git add .
7、提交   git commit -m "说点什么"
8、推送   git push(已提交的变动推送至远程)9、测试
复制代码


发布于: 刚刚阅读数: 5
用户头像

极客飞兔

关注

腾讯 2021.03.22 加入

毕业于全国重点大学,CSDN博客专家、阿里云技术专家、华为云云享专家、北极代码库贡献者、github开发者计划成员、任职国内知名游戏公司

评论

发布
暂无评论
高效的代码版本控制,让你居家办公游刃有余 | 社区征文_代码托管_极客飞兔_InfoQ写作社区