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

社区征文

一、托管仓库选择

  • 代码托管仓库主要有: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 
<<<<<<< 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 分支发起 prdevelop 分支,管理员审核后,由管理员操作 develop 分支,合并至 master
//克隆 dev分支 并自定义目录名(默认与远程仓库同名 test 且本地分支默认为dev)
git clone -b dev git@github.com:lichihua/test.git devdir

//或者 切换dev分支并pull 获取代码(存在.git时可使用此法)
git checkout dev
git 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

//再次pull
git pull

// 完成开发后,push至远程feature-login
git add .
git commit -m "xxx"
git push

七、分支合并

  • 将代码合并至 release 分支
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

179
2
0
1
关于作者
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论