GitHub是一个免费托管开源码的Gitserver,假设我们不想公开项目的源码,又不想付费使用。那么我们能够自己搭建一台Gitserver。

  以下我们就看看,怎样在Ubuntu上搭建Gitserver。我们使用VMware虚拟机安装两台Ubantu系统,分别命名为gitServer和gitClient_01。

1、安装OpenSSH并配置SSH无password登陆

  通过命令 sudo apt-get install openssh-server,安装SSH服务。

  通过命令 ps –e|grep ssh,查看ssh服务是否启动。

  通过以上命令,我们为Ubantu系统安装SSH服务。并配置SSH无password登陆。首先我们改动主机和ip配置文件:gedit /ect/hosts

2、创建用户git,用来管理执行git服务。

3、配置无passwordSSH登陆

  在gitClient_01上。我们使用命令:ssh-keygen –t rsa 生成密钥。例如以下图

  完毕之后,在.ssh文件夹下,我们能够看到id_rsa和id_rsa.pub文件。id_rsa.pub为公钥,我们通过命令scp /home/git/.ssh/id_rsa.pub gitServer:/home/git将gitClient_01上生成的公钥复制到gitServer上。

  在gitServer上我们首先查看/home/git/.ssh文件夹下是否存在authorized_kesys文件,

假设没有。能够通过touch authorized_keys创建此文件。

  Authorized_keys创建完毕后,将gitClient_01上拷贝过来的公钥id_rsa.pub的内容追加到authroized_keys中,注意是追加到此文件里,能够使用命令cat /home/git/id_rsa.pub>>/home/git/.ssh/authorized_keys.

  以上内容完毕后。我们在gitClient_01中。能够使用命令ssh gitServer就可以完毕无password登陆。

4、安装Git

  通过命令 sudo apt-get install git-core,安装git

5、建立git仓库的存储文件夹。

6、初始化server端仓库

  使用命令 git –bare init /home/git/myRep.git,初始化化仓库

7、在gitClient_01上,通过git clone命令进行克隆远程仓库。并在各自的电脑上执行开发。

  Git clone git@gitServer:/home/git/myRep.git

  通过以上的步骤我们就完毕了gitserver的搭建。完毕搭建后,我们须要了解一下与gitserver交互过程中所用到命令。主要命令有 git clone、git remote、git fetch、git pull、git push等。以下我们逐一了解

1、git clone

  此命令是我们和远程仓库交互的第一步,通过此命令,我们能够将远程版本号库克隆到本地。如上面第7步我们就使用了此命令,将远程库克隆道了本地。

  语法:git clone 版本号库的网址     本地库名称

  本地库名称能够省略,省略后在本地会生成一个和远程版本号库名字同样的文件夹。

2、git remote

  此命令用于管理远程主机名,此命令在没有參数的情况下能够列出全部主机名。

  显示origin是在使用clone命令,克隆远程版本号库时Git自己主动为远程主机命名。

  通过命令 git remote –v,可查看版本号库的网址。

3、git fetch

此命令能够将远程版本号库的更新,更新到本地库。

语法:git fetch 主机名字

  在默认情况下,git fetch origin将会更新远程主机origin上的全部分支,假设仅仅想更新某个分支,则在主机名origin后面加分支名。

  语法:git fetch origin master

4、git push

  此命令用于将本地分支的更新推送到远程主机。

  语法:git push 远程主机名 本地分支名:远程分支名

  假设省略远程分支名。则表示将本地分支推送与存在终于关系的远程分支,假设远程分支不存在。则会被新建。

  如:git push origin master,表示将本地master分支推送到origin主机的master分支上。

  假设省略本地分子名,则表示要删除远程主机中分支,如git push origin : master,则表示删除origin主机中master分支

5、git pull

  此命令用于获取远程分支中更新。

  语法:git pull 远程主机 远程分支:本地分支如:git pull origin master:master,表示将远程主机origin中的master分支跟新到本地分支master。

  如有疑问咨询或技术交流。请增加官方QQ群: (452379712)

作者:杰瑞教育
出处:http://blog.csdn.net/jerehedu/ 
本文版权归烟台杰瑞教育科技有限公司和CSDN共同拥有,欢迎转载,但未经作者允许必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载于:https://www.cnblogs.com/jzssuanfa/p/7048112.html

版本号控制-搭建gitserver相关推荐

  1. 使用Gitolite搭建Gitserver

    Gitolite是一款Perl语言开发的Git服务管理工具.通过公钥对用户进行认证.并可以通过配置文件对些操作进行基于分支和路径的精细控制. Gitolite採用的是SSH协议而且使用SSH公钥认证. ...

  2. 版本号控制-GitHub

    前面几篇文章.我们介绍了Git的基本使用方法及Gitserver的搭建.本篇文章来学习一下怎样使用GitHub. GitHub是开源的代码库以及版本号控制库,是眼下使用网络上使用最为广泛的服务,Git ...

  3. EA+svn实现UML的版本号控制

    一.安装软件 1.VisualSvn Server svnserver 2.Tortoise Svn svnclient 3.Slik-Subversion-1.7.8-x64版本号控制插件 4.En ...

  4. 搭建gitserver并实现git push 自动部署

    git push自动部署能大大提交开发部署效率 git 自动部署分为2类, git server和部署不在同一个服务器上(比如通过github部署) git server和要部署的目录在同一个服务器上 ...

  5. 【Android RTMP】RTMP 直播推流 ( 阿里云服务器购买 | 远程服务器控制 | 搭建 RTMP 服务器 | 服务器配置 | 推流软件配置 | 直播软件配置 | 推流直播效果展示 )

    文章目录 安卓直播推流专栏博客总结 一. 阿里云服务器购买 二. 远程服务器控制软件 三. 配置 Ubuntu 服务器 1 . 更新 apt 源 2 . 安装 pcre.OpenSSL.zlib 库 ...

  6. vue安装依赖的版本号控制 注意事项

    问题? 项目种因为一些的依赖包的版本不一样会造成一些不同的Bug,一般来说新版本都会兼容以前的版本,不过也有很多例外,之前项目种碰到过,比如vue-signature签名插件,之前装了两个不同的版本到 ...

  7. [原]五分钟搭建gitserver

    本来在忙一些事情,结果刚才突然收到一个临时的事情,号称很着急. 问了一下,原来是需要在本地搭建一个git库,但其实之前我是有做过gitserver的,不过是在阿里云(部分分布在青云)上,而且目前在使用 ...

  8. Web笔记-通过版本号控制客户端浏览器中的缓存

    这里举个例子: 通过Python管理静态资源.但有时候,js或者css更新了,浏览器不知道,还使用缓存的情况. 如下所示: 通过在url中带个?这种方式,使得浏览器去获取新的资源 看下根请求下相关链接 ...

  9. Diccuz!NT的dll版本号控制技巧

    dnt每次发布新版本时,公布出来的版本号都是3位数以上,拿3.6.711这个版本号的代码来说,几乎每一个dll上都是统一的版本号命名: 对于一个成熟的产品来说,统一一致的版本号命名有以下的好处: 1. ...

最新文章

  1. 22个案例详解Pandas数据分析/预处理时的实用技巧,超简单
  2. 【项目实战】---使用ajax完毕username是否存在异步校验
  3. (视频+图文)机器学习入门系列-第4章 朴素贝叶斯
  4. 计算机一级考试无法显示评分,计算机一级评分各题标准
  5. ROS indigo在Ubuntu上的安装教程
  6. 扫地机器人单扫和双扫_618买扫地机器人前必看 别图便宜 小心入坑!
  7. 为什么像王者荣耀这样的游戏Server不愿意使用微服务??
  8. Linux安装yum(最全依赖包)
  9. emWin使用(1)——LCD屏幕接口、LCD驱动芯片确定
  10. linux几种锁的分析与比较
  11. 组网 三层交换机配置
  12. AndroidStudio 实现用户登录注册
  13. dfs根目录_分布式文件系统DFS详细解读
  14. excel报错无法粘贴信息,原因复制区域跟粘贴区域形状不同
  15. ES6新增关键字:let和const及let的常用场景
  16. arduino液晶显示屏与温湿度传感器连接
  17. signature=f380c172efecdd0f7b9329d16d09ca45,Virtual Identity Signs in Online Communication
  18. Ublox F9p接收机在Windows 的相关配置
  19. Linux函数调用劫持的方法总结(带图)
  20. Linux Examination

热门文章

  1. html中h3的样式,比较好看的css自定义样式(标题 h1 h2 h3)
  2. python 爬取直播弹幕视频_python爬取斗鱼B总直播弹幕
  3. mysql 数值 字符 优化,教你如何进行Mysql数据类型优化
  4. 从消息到数据湖:看 Apache RocketMQ、Hudi、Kyuubi 最新进展
  5. 阿里云开源项目 OAM 负责人张磊入选「中国开源先锋 33 人」
  6. Arthas 征文活动火热进行中,cherry 键盘等你来拿!(内附第三期中奖名单)
  7. 编写可变参数函数 c语言,C语言中编写可变参数函数
  8. linux分区大容量加入lvm,linux 添加磁盘+lvm扩容
  9. php中的isset函数,PHP函数isset()只能用于变量
  10. batchsize一定是2的幂_支付接口的幂等性设计