请选择 进入手机版 | 继续访问电脑版

GitLab简易使用教程

[复制链接]
广西民兵 发表于 2020-12-31 20:22:52 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
引言

之前公司代码的管理不统一,一部门人用SVN,一部门人用Git,对于习惯了使用Linux大概Mac下令行的人来说,Git的利用更方便和快捷,和小同伴商量了一下把整个代码管理工具切换成了Git,GitHub如果不是开源项目标话是需要付费使用,所以选择使用GitLab,由于公司没有网络安全专家,对公司的网络界限以及代码库举行扫描,如果扫描到邮箱,暴力破解后,大概就会获取代码,所以接纳在自己内网搭建GitLab服务的方式,在讲正文之前,先来说说Git和SVN的区别。
一、Git和SVN的区别

1、GIT是分布式的,SVN不是:

这是GIT和别的非分布式的版本控制系统,比方SVN,CVS等,最核心的区别。需要做一点声明,GIT并不是现在第一个或唯一的分布式版本控制系统。另有一些系统,比方BitkeeperMercurial等,也是运行在分布式模式上的。但GIT在这方面做的更好,而且有更多强大的功能特征。
GIT跟SVN一样有自己的会合式版本库或服务器。但GIT更倾向于被使用于分布式模式,也就是每个开发人员从中心版本库/服务器上chect out代码后会在自己的机器上克隆一个自己的版本库。可以这样说,如果你被困在一个不能毗连网络的地方时,就像在飞机上,地下室,电梯里等,你仍然能够提交文件,检察汗青版本记录,创建项目分支等。对一些人来说,这似乎没多大用处,但当你突然遇到没有网络的情况时,这个将办理你的大贫苦。
同样,这种分布式的利用模式对于开源软件社区的开发来说也是个巨大的恩赐,你不必再像以前那样做出补丁包,通过email方式发送出去,你只需要创建一个分支,向项目团队发送一个推请求。这能让你的代码保持最新,而且不会在传输过程中丢失。github.com就是一个这样的优秀案例。
2、GIT把内容按元数据方式存储,而SVN是按文件:

所有的资源控制系统都是把文件的元信息隐藏在一个雷同.svn,.cvs等的文件夹里。如果你把.git目次的体积巨细跟.svn比较,你会发现它们差距很大。因为,.git目次是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,比方标签,分支,版本记录等。
3、GIT分支和SVN的分支差别:

分支在SVN中一点不特别,就是版本库中的别的的一个目次。如果你想知道是否归并了一个分支,你需要手工运行像这样的下令svn propget svn:mergeinfo,来确认代码是否被归并。感谢Ben同学指出这个特征。所以,经常会发生有些分支被遗漏的情况。
然而,处理惩罚GIT的分支却是相当的简朴和有趣。你可以从同一个工作目次下快速的在几个分支间切换。你很容易发现未被归并的分支,你能简朴而快捷的归并这些文件。
4、GIT没有一个全局的版本号,而SVN有

现在为止这是跟SVN相比GIT缺少的最大的一个特征,SVN的版本号实际是任何一个相应时间的源代码快照。我认为它是从CVS进化到SVN的最大的一个突破。
5、GIT的内容完整性要优于SVN:

GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时低落对版本库的粉碎。
一个研发队伍的成员正常包括:需求分析、设计、美工、步伐员、测试、实施、运维,每个成员在工作中都有产出物, 包括了文档、设计代码、步伐代码,这些都需要按项目会合举行管理的。SVN能清楚的按目次举行分类管理, 使项目组的管理处于有序高效的状态,SVN更适用于项目管理, Git更适用于代码管理。
二、首先去注册账号

首先打开公司内网摆设GitLab的服务器,由于是内部员工使用,所以注册时候Username和Full name最好用自己的名字,这样管理员给用户分配项目权限的时候能够一目了然。
 

image.png
三、管理员给注册的用户分配相应的项目权限以及身份和有效时间,这步是管理员需要做的

四、如何设置SSH?

可以通过HTTP和SSH去做克隆和提交接码,由于HTTP需要每次提交的时候输入邮箱号和暗码,所以常用电脑上设置SSH,只要设置好了以后,下次提交的时候就方便了。SSH的方式主要是通过生成一个密钥和一个公钥,这个公钥可以使用在GitHub,GItLab,内网GitLab中。
大多数 Git 服务器都会选择使用 SSH 公钥来举行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。生成公钥的过程在所有利用系统上都差不多。首先你要确认一下本机是否已经有一个公钥。
SSH 公钥默认储存在账户的主目次下的 ~/.ssh 目次。进去看看:
 

image.png
 
看一下有没有id_rsa和id_rsa.pub(大概是id_dsa和id_dsa.pub之类成对的文件),有 .pub 后缀的文件就是公钥,另一个文件则是密钥。
如果没有这些文件,甚至连 .ssh 目次都没有,可以用 ssh-keygen 来创建。该步伐在 Linux/Mac 系统上由 SSH 包提供,而在 Windows 上则包罗在GitBash内里里:
  1. $ ssh-keygen -t rsa -C "6789346623@qq.com"Creates a new ssh key using the provided email # Generating public/private rsa key pair.Enter file in which to save the key (/home/you/.ssh/id_rsa):
复制代码
然后直接三次Enter键就可以了,完了之后大概是这样:
  1. Your public key has been saved in /home/you/.ssh/id_rsa.pub.The key fingerprint is: # 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db 6789346623@qq.com
复制代码

image.png
五、设置SSH到GitLab账号

1、检察你生成的公钥:
vim id_rsa.pub
就可以检察到你的公钥
2、登陆GitLab账号,点击用户图像,然后 Settings -> 左栏点击 SSH keys
 

image.png
 
3、复制公钥内容,粘贴进“Key”文本区域内,取名字
4、点击Add Key
 

image.png
六、克隆、提交接码

1、首先把服务器上的代码克隆下来
git clone git@192.168.200.109:snailå/GitTest.git
这个时候可以在下令行工具内里看到当前目次是在master目次下面
2、将所有有改动的全部添加到要提交的当地库中
git add .
也可以用git add 文件名
3、提交修改到当地库
git commit -a -m "提交添加的注释信息"
4、把当地库的修改推送到远程服务器
git push
将当地代码库中的改动提交到远程服务器上去
 

image.png
七、使用最高的下令行

git pull 更新当地代码库到最新
每次提交接码的时候需要先更新,然后再提交
git checkout release/v1.0.0
从当前分支切换到release/v1.0.0去,注意切换分之前需要把有改动的commit
git merge feature/login
从当前分支merge feature/login分支的内容,这时候如果有两个人修改了同一个文件的同一行,则会有辩论,需要办理当前辩论再提交。
release/v1.0.0 feature/login
分支的命名一般当前的主线是 release/ 开头,背面跟版本号
每个人的分支,一般用feature/ 开头,背面跟 分支内容名
git最好照旧经常提交,然后由一个人把代码合到release上面
release上面就是当前开发的最新代码,一般一个版本竣事的时候,需要打一个tag,这样以后能回到tag标记的这个节点。
当release 上线发布后,需要把master上面的代码更新到最新。

来源:https://blog.csdn.net/xingxiupaioxue/article/details/101292968
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )