专栏首页向治洪在Windows下搭建Gitlab服务器

在Windows下搭建Gitlab服务器

一.GitLab简介

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

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

二.GitLab和Github的联系和区别

Github - 一个网站,提供给用户空间创建git仓储,保存用户的一些数据文档或者代码等。

GitLab 是一个用于仓库管理系统的开源项目。

二者都是git的衍生产品

三.gitlab安装及使用

接下来我们通过windows的unbuntu虚拟机搭建一个gitlib服务端代码管理端

怎么利用hyper-v安装ubuntu的linux服务器,可以自己百度,非常简单,10-20分钟就可以搞定。

1.准备工作

windows10 、hyper-v、ubuntu的linux虚拟机

2.转到以下地址,安装gitlab

https://about.gitlab.com/downloads/#ubuntu1404

只需要简单的四部,就可以安装好gitlab。如下图:

在完成后,直接在浏览器中,输入http://127.0.0.1,就可以直接访问gitlab的web端管理地址,如下图:

然后直接输入输入图一中,第四步的账号密码,就可以直接访问了。如下图:

到此,gitlab服务就搭建完成,下一篇文章,我们会讲解,安装过程中出现的问题,如安装后,输入http://127.0.0.1访问不到gitlab的web管理页面,以及怎样配置自定义的gitlab域名服务。

怎么使用呢,后期再说,其实这个和github代码管理有很多相似的地方

四.GitLab 的配置与使用

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

1-2.在创建工程的页面,按照要求填写项目的名称和可见性等信息。 Project path:项目的路径,一般可以认为是项目的名称 Import prject from:从哪导入项目,提供Github/Bitbucket等几个选项 Description(项目的描述):可选项,对项目的简单描述 Visibility Level(项目可见级别):提供Private(私有的,只有你自己或者组内的成员能访问)/Internal(所有登录的用户)/Public(公开的,所有人都可以访问)三种选项。

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工具,git客户端安装目录下git-bash.exe文件

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生成过程中会出现以下信息,按屏幕的提示操作即可:

Note:Enter passphrase (empty for no passphrase) :时,可以直接按两次回车键输入一个空的 passphrase;也可以选择输入一个 passphrase 口令,如果此时你输入了一个passphrase,请牢记,之后每次提交时都需要输入这个口令来确认。 实践过程中Android studio 如果有密码无法同步,建议不要密码。 公钥默认地址:C:\Users\用户\.ssh  连接git服务器生成可信任文件known_hosts,否则会报:Push failed: Failed with error: fatal: Could not read from remote repository. Per Android Studio help under SSH Executable:

  • Built-in: select this option to use the implementation provided by IntelliJ IDEA.
  • Native: select this option to use native implementation.

修改SSH Executable 为 Native

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,如图:

4-2.添加SSH公钥。填写Title和Key,其中Title是Key的描述信息,Key是上面复制的SSH公钥的内容,直接粘贴到输入框中保存即可。

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 add .  
 git commit -m 'first git demo'  
 git push -u origin master  

(注:将USERNAME和PROJECTNAME替换成用户名和项目的名称) 5-3.导入项目到本地 git clone"你的项目地址"

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • react native 调用原生UI组件

    在React Native开发过程中,有时我们想要使用原生的一个UI组件或者是js比较难以实现的功能时,我们可以在react Naitve应用程序中封装和植入已...

    xiangzhihong
  • Angular2入坑指南

    序 对后端开发来说,前端是神秘的,眼花缭乱的技术,繁多的框架,出名的不出名的好几百种,看是“繁荣”,其实显得杂乱无章,但是我们在做开发的时候,技术选型还是主流的...

    xiangzhihong
  • android之listview缓存图片(缓存优化)

    网上关于这个方面的文章也不少,基本的思路是线程+缓存来解决。下面提出一些优化: 1、采用线程池 2、内存缓存+文件缓存 3、内存缓存中网上很多是采用SoftRe...

    xiangzhihong
  • MySQL中binlog的三种格式

    在MySQL中,我们经常需要打开binlog来观察用户对某一个数据库的操作,binlog中记载着对用户数据库所做的所有修改类操作,例如delete,up...

    AsiaYe
  • 快速学习-Mybatis 注解开发

    这几年来注解开发越来越流行,Mybatis 也可以使用注解开发方式,这样我们就可以减少编写 Mapper 映射文件了。本次我们先围绕一些基本的 CRUD 来学习...

    cwl_java
  • 技术 | Python的从零开始系列连载(三十八)

    为了解答大家学习Python时遇到各种常见问题,小灯塔特地整理了一系列从零开始的入门到熟练的系列连载,每周五准时推出,欢迎大家学积极学习转载~

    灯塔大数据
  • 2019年20个最佳版本控制系统

    版本控制工具的核心是以简单的方式工作。它跟踪所做的协作更改,并确保每个协作者都知道并可以访问项目的最新版本。由于不同的项目各不相同,VCS工具也有各种产品。此外...

    Blue姐
  • java代码执行系统命令

    何白白
  • c#:Reflector+Reflexil 修改编译后的dll/exe文件

    不知道大家有没有这样的经历:现场实施时测试出一个bug,明明知道某个dll/exe文件只要修改一二行代码即可,但手头没有开发环境,紧急情况下,可以用reflec...

    菩提树下的杨过
  • JaCoCo探针策略原理及案例总结

    探测的唯一目的是记录它至少执行过一次。探测器不记录它被调用的次数或收集任何时间信息。后者超出了代码覆盖率分析的范围,更多的是在性能分析工具的目标中

    JavaEdge

扫码关注云+社区

领取腾讯云代金券