前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Gitlab的使用中的一个小问题

Gitlab的使用中的一个小问题

作者头像
AsiaYe
发布2019-11-06 15:16:55
7590
发布2019-11-06 15:16:55
举报
文章被收录于专栏:DBA随笔DBA随笔
GitLab中的一个小问题

在团队合作开发的项目中,大家可能经常会用到GitLab,GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

总之,它的功能十分强大,其安装和部署的过程这里先不提及。由于之前没有自己搭建过这样一套系统,我在使用的过程中还是踩了一些坑的,在这里简单分享下。

首先画图说明一下GitLab的开发流程:

一个项目里面的角色分为master和developer,master是一个主分支,一般情况下是主分支的线上代码仓库,有一个负责人主管,developer是其他开发人员的线上代码仓库,Local Test是实际在开发IDE环境中的代码,用来在本地进行开发测试,具体的实现流程是:

  1. 从线上Pull下来最新的代码,进行功能添加,bug修复等内容;
  2. 将自己修改好的代码推送到自己的线上代码仓库中;
  3. 请求将线上代码Merge到主分支,主分支进行修改内容核实,同意之后,然后将代码merge进来。

最近的自动化运维项目开发的过程中使用的是Pycharm这个IDE,需要将GitLab集成在Pycharm中,为了快速上手开发项目,我采用了一种比较省事儿的办法搭建开发环境,就是讲同事的Virtual Box中的Linux操作系统直接导出了一份儿,然后在我的本地测试环境重新导入,按照固定的流程重新fork了master上面的代码,注册了新的devoloper用户,于是就开始了代码提交,每次代码提交的过程还是很有成就感的,因为自己也为整个项目出了自己的一份力量。但是,正是这次“图省事儿”的环境导入,导致了一个奇怪的问题,见下图:

在项目Repository中的Contributors里面居然看不到这几个月对项目所做的贡献,显示只有四次提交,然后询问同事,初步怀疑是我的提交代码量都一起算到了他的分支上。然后开始分析这个问题,我除了编程环境的搭建使用的他的系统,GitLab账号是最新的,代码是我从自己的分支和主分支做Merge的,为什么GitLab不显示贡献量,尝试的方法有以下几种:

  1. 退出项目组,重新加入项目组,再重新拉取相应Master的代码,发现问题没有得到解决
  2. 删除目前自己分支上的代码,再重新开分支,重新拉取Master上的代码,问题还是没有解决
  3. 注销developer用户名,新建developer用户,问题依旧

经过这些尝试,我可以确定,问题是出在了这个环境上面,一定是环境上有些参数没有设置成自己的,导致提交的时候GitLab识别错误。于是查询了一下GitLab的相关配置,仔细检查了代码Merge过程中的每一个细节。终于,在commit file的页面找到了问题所在,见下图:

在Pycharm的Commit页面右上角,发现了一个Author的输出框,应该是要填写作者信息,我填上了自己的GitLab账号,重新提交文件,发现问题解决,已经可以显示我自己的提交了。到这里,问题就很明确了:Git---Commit文件的过程中,默认的Author是别人的账号,需要修改成自己的账号。于是赶紧使用命令:

git config --list

查看git的配置状况,发现user.name和user.email都是别人的账号,通过以下命令进行修改:

git config --global user.name your_name

git config --global user.email your_email

修改完之后,问题彻底解决,不再需要在Author栏输入相应的user名称了,默认提交即可。

总结,当我们使用别人克隆的系统的时候,主要是使用各种软件环境,尽可能用自己的账户名和密码去登陆这些软件,第一是保护别人隐私,第二是避免出现像今天这样类似的错误。回过头来看,问题很简单,但是在实际探索的过程中还是花费了一些时间,所以把它记录下来,也算是积累一点儿工作经验吧。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DBA随笔 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档