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
版权声明:本文标题:git的使用教程 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1703261033h444515.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论