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共同拥有,欢迎转载,但未经作者允许必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
 

版本号控制-搭建gitserver的更多相关文章

  1. lzugis—搭建属于自己的小型的版本号控制SVN

    版权声明:本文为LZUGIS原创文章,未经同意不得转载. https://blog.csdn.net/GISShiXiSheng/article/details/28643575 对于不了解SVN的同 ...

  2. 版本号控制-GitHub

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

  3. 使用Gitolite搭建Gitserver

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

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

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

  5. Git(一):Git与版本号控制简单介绍

    Intro 版本号控制系统是什么      版本号控制系统(Version Control System,VCS)能够帮助我们记录和跟踪项目中各文件内容的改动变化.它能够帮我们保存项目的各个版本号.以 ...

  6. eclipse中使用git进行版本号控制

    协作开发的时候没有版本号控制是非常痛苦的事情,使用git能够非常好的完毕这项任务,由于非常多的开源码都在github上公布,因此学会使用git是非常重要的一项技能. 这篇写的是在eclipse下使用的 ...

  7. Git版本号控制 为什么那么复杂 头大 (忍不住强烈吐槽)

    想把自己的源代码保存到云端.想到了用Github.com,然后便開始看怎么使用GIT. 一開始,没有接触之前,想的非常easy的.应该就跟SVN几乎相同吧.写好了提交就能够了. 只是使用了之后才发现根 ...

  8. 版本号控制-git(二)

    上次文章给大家介绍了Git的一些基本知识(http://www.cnblogs.com/jerehedu/p/4582398.html).并介绍了使用git init初始化化版本号库.使用git ad ...

  9. 云盘+Git GUI实现云盘文件版本号控制

    以下介绍操作细节 1.先下载Git GUI 下载地址:http://msysgit.github.io/       再下载百度云网盘 下载地址:http://pan.baidu.com 接下来就是安 ...

随机推荐

  1. Numpy科学计算工具

    Numpy初探 Numpy基础数据结构 Numpy数组是一个多维数组,称为ndarray.其由两部分组成: 实际的数据 描述这些数据的原数据 导入该库: import numpy as np 多维数组 ...

  2. [Project Euler 429] Sum of squares of unitary divisors(数论)

    题目链接:https://projecteuler.net/problem=429 题目: 我们称 N 的约数 d 为特殊的当且仅当 gcd(d, n / d) = 1. 设 S(n) 为 n 所有特 ...

  3. Metasploit的攻击实例讲解----ms10_046快捷方式图标漏洞

    不多说,直接上干货! 准备工具 1.Kali linux 2016.2(Rolling)系统  IP:  192.168.1.103 2.受害者机子(windows XP系统)   IP: 10.10 ...

  4. Android中的Junit测试

    在开发中Junit测试可以很方便的帮助开者尽可能早的发现并处理问题,而且使用也非常简单,只需要导入Junit测试相关的jar包并创建测试类,就可以对业务功能进行测试,而不用为了测试在代码中添加输出语句 ...

  5. theano import error (win10 python2.7)

    因为项目需要,在win10-64位电脑上配置theano.但是一直有 import error的错误,找不到解决方法.作为一个python新手,实在搞不定,请大家不吝赐教!小女子不胜感激! 按照网上的 ...

  6. PHP实现杨辉三角形

    <?php /**** * 杨辉三角形:我的实现方式. * 下标 * 1 0 * 1 1 1 循环上一行数据1次,计算后结果追加到当前行末尾 * 1 2 1 2 * 1 3 3 1 3 * 1 ...

  7. 关于ios11和Chrome浏览器非HTTPS 对高德定位不支持问题

    最近,在开发二维码签到系统时,需要对用户的签到的经纬度进行获取,并且判断签到距离是否在可支持范围内. 使用了高德地图.因为本人最近刚刚入手了一款新的Iphone7里面是最新的ios11系统.发现我的手 ...

  8. [笔记-统计学习方法]感知机模型(perceptron) 原理与实现

    前几天认把感知机这一章读完了,顺带做了点笔记 现在把笔记做第三次的整理 (不得不说博客园的LaTex公式和markdown排版真的不太舒服,该考虑在服务器上建一个博客了) 零.总结 适用于具有线性可分 ...

  9. IDEA使用GIT 上传到GitHub

    1.下载Git https://www.git-scm.com/download/ 2.安装 3.IDEA配置Git(设置Git路径,点击Test),如下代表成功 4.创建仓库 5.add 6.pus ...

  10. mysql中lock tables与unlock tables(锁表/解锁)使用总结

    php mysql lock tables 使用有感 mysql 的 表锁 lock tables 感觉就像一个 封闭的空间 mysql发现 lock tables 命令的时候,会将带有锁标记的表(t ...