GitLab

简介: GitLab

(注:以下内容大部分是从各大网站上搜索总结得出的,部分是个人的一些使用收获。希望对大家有帮助!)


一.GitLab简介


GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。


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


Web框架使用Ruby on Rails。


基于MIT代码发布协议。



二.GitLab 的配置与使用


1.创建新项目(web)


1-1.登录gitlab网址成功后,点击右侧导航条上的 “+” 就可以进入创建项目的页面



1-2.在创建工程的页面,按照要求填写项目的名称和可见性等信息。


Project path:项目的路径,一般可以认为是项目的名称


Import prject from:从哪导入项目,提供Github/Bitbucket等几个选项


Description(项目的描述):可选项,对项目的简单描述


Visibility Level(项目可见级别):提供Private(私有的,只有你自己或者组内的成员能访问)/Internal(所有登录的用户)/Public(公开的,所有人都可以访问)三种选项。

image.png

2.添加和配置SSH公钥:


2-1.SSH(Secure Shell)是一种安全协议,在你的电脑与GitLab服务器进行通信时,我们使用SSH密钥(SSH Keys)认证的方式来保证通信安全。


2-2.创建 SSH密钥,并将密钥中的公钥添加到GitLab,以便我们通过SSH协议来访问Git仓库。


SSH 密钥的创建需要在终端(命令行)环境下进行,我们首先进入命令行环境。通常在OS X和Linux平台下我们使用终端工具(Terminal),在Windows平台中,可以使用Git Bash工具


(下载地址:http://download.csdn.net/detail/sun_2134/9279961)


A:进入SSH目录:cd ~/.ssh


(1)如果还没有 ~/.ssh 目录,可以手工创建一个(mkdir ~/.ssh),之后再通过cd ~/.ssh进入SSH目录


(2)可以通过ls -l命令查看SSH目录下的文件,来确认你是否已经生成过SSH密钥;如果SSH目录为空,我们开始第二步B,生成 SSH 密钥;如果存在id_rsa.pub这个文件,说明你之前生成过SSH密钥,如何添加多个sshkey也不难,一般很少用,这里不介绍了。


B:生成SSH密钥


我们通过下面的命令生成密钥,请将命令中的YOUR_EMAIL@YOUREMAIL.COM替换为你注册gitlab时用的Email地址。


ssh-keygen -t rsa -C "YOUR_EMAIL@YOUREMAIL.COM"


在SSH生成过程中会出现以下信息,按屏幕的提示操作即可:

image.png

Note:Enter passphrase (empty for no passphrase) :时,可以直接按两次回车键输入一个空的 passphrase;也可以选择输入一个 passphrase 口令,如果此时你输入了一个passphrase,请牢记,之后每次提交时都需要输入这个口令来确认。


3.获取SSH公钥信息:


SSH密钥生成结束后,根据提示信息找到SSH目录,会看到私钥id_rsa和公钥id_rsa.pub这两个文件,不要把私钥文件id_rsa的信息透露给任何人。我们可以通过cat命令或文本编辑器来查看id_rsa.pub公钥信息。


(1)通过编辑器。使用你熟悉的文本编辑器,比如 记事本、Sublime Text等软件打开id_rsa.pub,复制里面的所有内容以备下一步使用。


(2)通过cat命令。在命令行中敲入cat id_rsa.pub,回车执行后命令行界面中会显示id_rsa.pub文件里的内容,复制后在下一步使用。


(3)通过直接使用命令将id_rsa.pub文件里的内容复制到剪切板中


Windows: clip < ~/.ssh/id_rsa.pub


Mac: pbcopy < ~/.ssh/id_rsa.pub


GNU/Linux (requires xclip): xclip -sel clip < ~/.ssh/id_rsa.pub


4.添加SSH公钥到gitlab:


4-1.打开gitlab的Profile配置页面,选择SSH Keys,如图:

image.png

image.png

image.png

image.png

5.导入项目:


5-1.设置下git的用户名和邮箱


在提交代码前,还需要设置下git的用户名和邮箱(最好用英文,不要出现中文),这样提交记录才会在gitlab上显示带有你名字的记录。

在命令行窗口输入(windows需要安装打开Git Bash工具才行):

git config --global user.name"your_name"

git config --global user.email "your_email"

5-2.导新项目到gitlab上


如果项目存在,需要导入到gitlab,可以通过命令行直接将项目导入上去。


cd "本地存在项目的路径"


git init


git remote add origin git@gitlab.com:USERNAME/PROJECTNAME.git


git push -u origin master


(注:将USERNAME和PROJECTNAME替换成用户名和项目的名称)


5-3.导入项目到本地


先将项目clone到本地,如果你用不惯命令行可以下载个git管理工具SourceTree(官网地址:https://www.sourcetreeapp.com/),个人不建议下载使用,因为后期只需要通过开发软件就可以管理git了,下一章会作简单的如何在AndroidStudio配置git介绍。


git clone"你的项目地址"

image.png

Note:如何在gitlab上找到你的项目地址位置,请看下图:

image.png

image.png

6.提交项目文件:


具体提交项目方式在下面博文中有详细介绍:

GitLab在AndroidStudio上的使用 (请点击地址:http://blog.csdn.net/sun_promise/article/details/50008451)

目录
相关文章
|
11月前
|
机器学习/深度学习 自然语言处理 并行计算
社区供稿 | Para-Former:DUAT理论指导下的CV神经网络并行化,提速多层模型推理
神经网络正越来越多地朝着使用大数据训练大型模型的方向发展,这种解决方案在许多任务中展现出了卓越的性能。然而,这种方法也引入了一个迫切需要解决的问题:当前的深度学习模型基于串行计算,这意味着随着网络层数的增加,训练和推理时间也会随之增长。
225 28
|
8月前
|
机器学习/深度学习 编解码 人工智能
魔搭社区模型速递(3.2-3.8)
🙋魔搭ModelScope本期社区进展:1340个模型,220个数据集,🎨91个创新应用,📄 8篇内容
487 9
|
8月前
|
JavaScript 前端开发 Java
Idea启动SpringBoot程序报错:Veb server failed to start. Port 8082 was already in use;端口冲突的原理与解决方案
本文解决了Idea启动SpringBoot程序报错:Veb server failed to start. Port 8082 was already in use的问题,并通过介绍端口的使用原理和操作系统的端口管理机制,可以更有效地解决端口冲突问题,并确保Web服务器能够顺利启动和运行。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
存储 Kubernetes 安全
如何与不同节点共享 Docker 容器
【8月更文挑战第27天】
422 5
|
传感器 Linux 测试技术
xenomai 在X86平台下中断响应时间测试
该文讨论了实时操作系统中断响应时间的重要性,并介绍了x86中断机制和Xenomai的中断管理,包括硬件中断和虚拟中断的处理。Xenomai通过I-Pipe确保实时性,中断优先级高的Xenomai先处理中断。文中还提到了中断响应时间的测试设计,分别针对I-Pipe内核间虚拟中断和硬件中断进行了测试,并给出了在不同负载下的测试结果。
401 0
xenomai 在X86平台下中断响应时间测试
|
开发工具 git 开发者
Git管理分支都有哪些,不同分支作用是什么?
在Git中,有多种类型的分支,每种分支都有不同的作用。以下是一些常见的Git分支以及它们的作用:
609 0
uniapp项目怎么删除顶部导航栏
uniapp项目怎么删除顶部导航栏
554 0
|
运维 Java 数据库
如何实现最终一致性,有哪些解决方案
如何实现最终一致性,有哪些解决方案
1474 0
error: Your local changes to the following files would be overwritten by merge
error: Your local changes to the following files would be overwritten by merge
|
算法
基于MATLAB的自适应调制解调通信系统的误码率仿真,对比BPSK,QPSK,16QAM,64QAM
基于MATLAB的自适应调制解调通信系统的误码率仿真,对比BPSK,QPSK,16QAM,64QAM
345 0