admin 管理员组

文章数量: 887021


2023年12月23日发(作者:c语言简单例题)

GitLab基础使用教程

目录

1、GitLab开发版本管理服务器 ............................................................... 2

2、添加本地域名解析 ............................................................................ 2

3、修改密码并重新登录 ......................................................................... 3

4、Git Bash下使用Gitlab ....................................................................... 3

5、MyEclipse中使用Gitlab ..................................................................... 9

6、 两个重要的文件 ............................................................................. 28

1 / 29

1、GitLab开发版本管理服务器

GitLab,是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

我们的GitLab开发版本管理服务器:opc/ ,通过Web浏览器访问我们的GitLab界面

2、添加本地域名解析

到系统目录C:WindowsSystem32driversetc下,拷贝出hosts文件,编辑hosts文件,添加“192.168.222.89 opc”行(,回车确保这一行IP映射生效,另存为时注意:1)无后缀名;2)保存编码为ASCII编码格式。

此时,在浏览器中直接输入opc/”即可进入我们的GitLab

2 / 29

3、修改密码并重新登录

管理员帮你注册后,你的注册邮箱会收到一封来自GitLab的邮件,邮件中包含登陆地址、首次登陆用的密码(系统随机生成的)

必须使用初始密码登陆后修改登陆密码,然后用新密码登陆即可。

4、Git Bash下使用Gitlab

1、在Windows下安装Git客户端软件

在你的Windows机器上,为了能够方便的检入检出项目,需要安装Git客户端软件,安装完之后会生成

2、生成SSH密钥验证身份

如果你想进行代码的上传与下载等操作,需要你把自己的ssh key导入到gitlab里,方法如下:(Linux下生成方式相同,在自己的home目录下输入该命令即可)

打开上步安装生成的Git Bash,输入ssh-keygen -t rsa -C "YOUR EMAIL

ADDRESS”, YOUR EMAIL ADDRESS是你的邮箱地址,一直回车即可,此命令在C:Users<你的用户名>.ssh目录下生成一对公私密钥,拷贝公钥(.pub结尾的文件)的 3 / 29

内容,如我的id_:

登陆你的GitLab账号之后,点击右上角的”Profile Setting” -> “SSH Keys”,输入SSH Key标题(可自定义),将拷贝的id_内容拷贝到Key中,”Add Key”即可。

3、在Gitlab界面创建自己的项目

点击右上角的New Project,填写相关的Project相关信息后,选择“Create Project”

4 / 29

然后会看到如下信息,根据“Create Repository”创建项目库,右上角为SSH地址:

5 / 29

4、上传项目

在GitBash中上传:

新建目录:mkdir testwcmc & cd testwcmc

新建测试文件:,写入一些测试内容

上传过程如下:

步骤说明:git status命令检查当前的git状态,是常用命令

1) Git init : 初始化项目库(新建项目时使用);

2) Git add 文件或目录:添加文件或目录;

3) Git commit –am “此次提交的说明”:提交到本地;

4) Git remote add orgin 项目的SSH地址 : 远程添加到新项目中;

5) Git push origin master : 将本地新增文件上传到GitLab中;

6 / 29

然后在GitLab上刷新刚刚新建的项目可以看到:

进入该项目的“Files”,可以看到刚刚上传的

点击该文件可以查看文件内容

7 / 29

5、分支操作

分支可以看做是某个项目的版本。

分支操作主要包括:查看、新建、切换、删除,详见下图:

1) git branch为查看当前分支,第一条git branch命令可以看到有master和develop两个分支,且master前为带星号绿色,表示当前所处的分支;

2) git branch test新建名为test的分支;

3) git checkout test将当前所在分支切换到test下;

准备在test分支中添加新的文件或修改,提交时用git push origin test即可:

查看GitLab中的分支情况:

8 / 29

5、MyEclipse中使用Gitlab

最新的MyEclipse2014已自带Git,安装文件以及破解包在ftp位置(打开“计算机”或“我的电脑”): ftp://192.168.222.2/released_by_others/xujiao/ 下的“程序软件”中,请按照破解包中的安装步骤自行安装及破解。

1 新建项目上传至GitLab

1) 在MyEclipse中新建一个Project,此处新建测试用的gittest

2) 新建gittest项目的git仓库

在项目上右键 -> Team ->Share Project -> Git -> Next

9 / 29

Create -> 自定义仓库名称 –> Finish

在C:UsersAdministratorgit目录中可以看到githello仓库,和CVS、SVN不同,GIT不会在每一个目录下建立版本控制文件夹,仅在根目录下建立仓库

10 / 29

同时,eclipse中的project也建立git版本控制,此时未创建分支,处于NO-HEAD状态

文件夹中的符号”?”表示此文件夹处于untracked状态,这样就成功创建GIT仓库。

3) 配置.gitignore文件

尝试提交gittest项目,右键 -> Team –> Commit

11 / 29

我们可以通过配置.gitignore来排除不需要上传的文件,打开Navigator窗口,在project根目录中添加.gitignore文件,将需要排除控制的目录写入.gitignore文件中

再次Commit可以看到.gitignore的文件被过滤掉

12 / 29

勾选文件,然后Commit,可以看到首次提交后,会自动生成master分支

新建一个hellogitljava文件,可以看到src目录带有一个问号图标,这表示处于untracked状态,即git没有对此文件进行监控

13 / 29

通过Team -> Add to index可以将文件加入git索引,进行版本监控,可以看到图标显示也有了变化(EGIT中只要Commit就可以默认将untracked的文件添加到索引再提交更新,不需要分开操作),也可以通过Team -> Untrack将文件从索引控制中排除。

将此次新增的文件commit到仓库中,文件将处于unmodified状态,或者说,这就是一种staged状态

一旦修改文件,文件将处于modified状态,可以从“>”变化看出来

14 / 29

查看历史提交记录

Team -> Show in history可以查看版本历史提交记录

4) 上传至GitLab

在GitLab上新建一个githello的仓库

Team -> Remote -> Push填写相关信息后 –> next -> Add All Branches Specs ->

Finish

15 / 29

16 / 29

完成之后

17 / 29

还可以通过在GitLab中查看相关信息

Commits

18 / 29

Files

2 获得GitLab中已有项目

为演示,先删除刚刚在Eclipse创建的gittest项目

1) 打开GIT资源库窗口,选择克隆资源库

Window -> Open Perspective -> Other中选择Git

19 / 29

输入GitLab中的SSH地址

选择分支,由于此处只有master分支,所以Clone master分支,然后finish

20 / 29

21 / 29

2) 完成Git的本地克隆,接下来需要将仓库检出为Web Project

选择Import as general project

22 / 29

3 推送远程仓库

克隆服务器端仓库后,会在本地建立一个一样的仓库,称本地仓库。在本地进行commit操作将把更新提交到本地仓库,然后可以将服务器端的更新pull到本地仓库进行合并,最后将合并好的本地仓库push到服务器端,这样就进行了一次远程提交。

经过克隆并检出后,会得到克隆后的master分支项目

先提交一次到本地仓库,然后push到服务器端的mirror分支,Team -> remote ->

Push

23 / 29

推送完成之后在GitLab上可以看到

4 推送冲突解决

多人协作开发的情况下,往服务器推送更新时难免出现冲突,所以推送之前需要解决服务器端的最新版本和本地仓库的冲突。Pull操作就是把服务器端的更新拉拢到本地仓库进行合并,解决好合并冲突后,就可以顺利push到服务器分支了。

24 / 29

假设现在服务器上的已经被更新,添加了第9行代码

而我在第二步克隆下来的版本后,添加的语句是这样的:

先将修改进行Commit,然后使用pull来合并本地仓库和远程仓库,将发行文件出现冲突,此时GIT会自动合并冲突的文件,如下图所示:

25 / 29

合并结果如下

显然这样的合并结果并不能直接使用,我们可以手动调整,右键发生冲突的文件,选择Team -> Merge Tool

26 / 29

第一项是将GIT自动合并过的文件和服务器端文件进行对比,第二项是用本地最新版本的文件和服务器端文件进行对比,建议用此项,接下来就是熟悉的对比界面

手动对冲突进行合并,此处替换成服务器上最新的 “old one & New”

然后右键点击此冲突文件,选择Team -> Add to index再次将文件加入索引控制,此时文件已经不是冲突状态,并且可以进行提交并push到服务器端。

然后Commit –> Push即可,使得GitLab服务器上的为最新版本

27 / 29

从历史记录中可以看到,从first commit after clone it开始历史进入分支,先是new的记录,然后是commit old one的记录,最后历史分支合并。

6、 两个重要的文件

/.gitignore

1) 用于对项目进行概要说明,供项目成员快速熟悉和了解项目。示例:

2).gitigore文件,用户指定在上传项目到GitLab时,忽略的文件。

28 / 29

29 / 29


本文标签: 文件 项目 进行 仓库