转载 的出处http://blog.csdn.net/u012764358/article/details/62886427

Gitlab和Sourcetree结合使用实现代码管理

这是本人第一次发表博客,如有不足或者缺陷,请批评指正,希望能够更好的学习。最近刚来到一家老外的公司,他们使用的代码管理工具是gitlab,由于之前没使用过gitlab,所以,安装这个软件也费了老大的劲。现在把整个过程分享给大家,希望能给更多的人带来方便。

准备工作

  • 安装git
  • 安装sourcetree
  • 注册gitlab账号

配置SSH Keys

SSH是目前较可靠,转为远程登录会话和其他网络服务提供安全的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。Git就采用了SSH加密传输协议,加密传输的算法有很多,git可以使用RSA,RSA的核心就是使用一对特定的数字,使用其中一个数字可以用来加密,而另外一个数字可以用来解密。这两个数字就是你在使用git、github和gitlab的时候所遇到的public key 也就是公钥以及private key 私钥。公钥是用来加密的数字,这也就是为什么本级生成了公钥之后,要上传到gitlab、GitHub的原因。从GitHub或gitlab发回来的用公钥加密过的数据,可以用你本地的私钥来还原。如果key丢失,不管是公钥还是私钥,丢失哪一个都不能用,需要重新生成一次然后在gitlab账户中再设置一次就可以了。下面就讲一下如何生成SSH KEYS。

![打开sourcetree工具选中右上角的命令行模式](http://img.blog.csdn.net/20170317142830974?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMjc2NDM1OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)在命令行中输入以下命令生成gitlab服务端和本地git所需要的公钥和私钥:ssh-keygen -t rsa -C "你在gitlab上注册的邮箱地址" ,接着会提示你输入密码(这个没有必要输入,我本人没有输入),然后执行到出现一个矩形框的时候就OK了。这是你会发现C盘当前用户目录下多了一个.ssh文件夹,打开.ssh文件夹会发现两个文件id_rsa和id_rsa.pub,前面的就是私钥,后面的是公钥,用记事本将公钥打开,copy到gitlab->SSH Keys->Key中,copy之后Title中会显示你的邮箱账号(该title是可以随意命名的)。完成之后点击Add key按钮。到这里gitlab端的公钥就配置好了。我们要用到sourcetree来下载代码到本地还要对sourcetree来进行设置。
  • 1
  • 2
  • 3
  • 4

Sourcetree设置

打开sourcetree工具,选择工具->选项->一般->SSH客户端:选中OpenSSH(见下图所示),之所以要选择OpenSSH是因为,如果不进行选择的话clone代码的时候会报公钥错误。 

使用sourcetree拉取代码到本地

sourcetree ->克隆/新建 

源路径就是gitlab中的项目地址,copy过来就行了,目标路径自己设置好了,之后点击克隆,等一会代码就下载好了,你会看到sourcetree的界面如下: 

多人开发的时候,是不允许在master分支上进行的,需要建立自己的分支

建立开发分支

选择需要创建分支的版本

点击上方的分支按钮进行创建分支 
 
创建分支完成后还要点击推送按钮,是为了在远端创建分支,到时候需要先将本地的代码提交推送到远端的分支,然后在gitlab上发起merge request请求,由管理者进行develop和master分支的合并操作。 
推送之后,我们到gitlab去查看会发现多了一个分支develop。

提交更新代码

选择分支->文件状态如下图 

我们可以选中未暂存的文件,选择Statge Selected按钮,文件就会到已暂存文件区域,在下方输入框内输入更新说明,然后点击提交,到这一步只是存到了本地仓库,还需要点击推送按钮,这时才会更新远程develop分支,接着打开gitlab,点击merge request,发出请求合并。至此整个流程完毕,欢迎大家指正,转载请注明出处。

【转载,实测好用】gitlab结合sourcetree使用的更多相关文章

  1. 转载:centos安装gitlab详解

    原文地址:http://blog.csdn.net/jiangtao_st/article/details/73612298 一, 服务器快速搭建gitlab方法 可以参考gitlab中文社区 的教程 ...

  2. 持续集成-sourcetree的安装、使用记录

    1.参考 http://blog.sina.com.cn/s/blog_672143a30102vold.html 2.问题-安装sourcetree后,打开时提示下载但是连接不上相应链接 自行下载g ...

  3. Git和SourceTree配合使用

    Git介绍 git是当今最强大的本地的分布式代码版本管理工具. git的核心概念与操作:开发环境,本地仓库,远程仓库.他们的关系如下图: 与CVS及SVN的比较: CVS及SVN都是集中式的版本控制系 ...

  4. iOS开发中的零碎知识点笔记 韩俊强的博客

    每日更新关注:http://weibo.com/hanjunqiang  新浪微博 1.关联 objc_setAssociatedObject关联是指把两个对象相互关联起来,使得其中的一个对象作为另外 ...

  5. SourceTree安装教程和GitLab配置详解

    一.安装Git 链接: http://pan.baidu.com/s/1mh7rICK 密码: 48dj 二.安装SourceTree 链接: http://pan.baidu.com/s/1skWk ...

  6. sourcetree和gitlab配置图解

    一.前期准备安装 1.git客户端(1.产生gitlab服务端和本地git相互传输时所需要校验的私钥和公钥    2.直接在Idea中使用git提交和push代码,当然也可以用sourcetree提交 ...

  7. 3、SourceTree通过PUTTY连接GitLab

    一.生成公钥和私钥 使用命令行生成(两种生成方式选择一种即可) 1.安装SourceTree打开SourceTree,点击“命令行模式”. 2.输入如下命令生成key“example@example. ...

  8. 转载:Gitlab备份和恢复操作记录

    转载:Gitlab备份和恢复操作记录 包含了备份和数据恢复的操作记录,实验可行 前面已经介绍了Gitlab环境部署记录,这里简单说下Gitlab的备份和恢复操作记录: 1)Gitlab的备份目录路径设 ...

  9. GitLab+Rancher实践DevOps【转载】

    摘要 本文描述使用自建GitLab和Rancher实践持续集成/持续交付流水线的过程,并用Rancher实现容器编排和蓝绿发布. GitLab持续集成 GitLab持续集成/持续交付流程图:部署Git ...

随机推荐

  1. PHP的垃圾回收机制以及大概实现

    垃圾回收,简称gc.顾名思义,就是废物重利用的意思.再说这个之前先接触一下内存泄露,大概意思就是申请了一块地儿拉了会儿屎,拉完之后不收拾,那么这块地就算糟蹋了,地越用越少,最后一地全是屎.说到底一句, ...

  2. linux下pycharm的使用

    百度搜索pycharm 然后打开pycharm的官网 然后在官网首页点击down   如果使用的是Linux系统,那么默认已经选择Linux版本 左边的down是全功能的IDE和WEB扩展,属于商业版 ...

  3. Mybatis入门2-动态代理实现CRUD

    MyBatis动态代理生成DAO的步骤: 1) 编写数据管理的接口XxxMapper 2) 编写该接口对应的Mapper.xml a) namespace必须与Mapper接口全名一致 b) stat ...

  4. 解决Linux系统在设置alias命令重启后失效的问题

    在使用linux系统的过程中,大多数情况下都是在字符界面下进行的.有些比较长的命令我们不希望每次都重复输入,这样不仅浪费时间而且还容易出错:我们会使用alias命令来解决 比如: alias ll=' ...

  5. springboot+mybatis+springSecurity+thymeleaf

    配置步骤: .pom <dependencies> <dependency> <groupId>org.springframework.security</g ...

  6. Kafka详解三:开发Kafka应用

    问题导读 1.Kafka系统由什么组成?2.Kafka中和producer相关的API是什么? 一.整体看一下Kafka        我们知道,Kafka系统有三大组件:Producer.Consu ...

  7. Android 报错Android - Performing stop of activity that is not resumed

    [原文] FROM STACKOVERFLOW: Just giving my 50 cents on the issue. Catching the exception is indeed one ...

  8. QT 使用QPainter 绘制图形 和 世界变换 world transform

    1. 绘制椭圆  饼状型 贝塞尔曲线 绘制图像重写方法 void paintEvent(QPaintEvent *event)即可. void Widget::paintEvent(QPaintEve ...

  9. UOJ132 【NOI2015】小园丁与老司机

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...

  10. MySql 创建/删除数据库

    C:\Users\Mr.Black>mysql -u root -pEnter password: ****Welcome to the MySQL monitor.  Commands end ...