Git是一个开源的分布式版本控制系统,可以有效、高效的处理从很小到非常大的项目版本管理。使得开发者可以通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库,也可以将代码提交到Git服务器上。

一、环境

  VMware创建ubuntu虚拟机作为Git服务器,而客户端在windows系统下搭建。

二、ubuntu搭建Git服务器

  1、安装 openssh

  命令:sudo apt-get install openssh-server

  

  2、安装完成之后,查看ssh服务是否启动

  命令:ps -e|grep ssh

  

  3、创建git用户,用来管理运行git服务

  命令:useradd git/adduser git

  注意:useradd命令并不会在/home目录下创建用户文件夹,而adduser会创建

  

  4、安装git

  命令:sudo apt-get install git-core

  

  注意:sudo执行会报错

  

  解决办法:进入root (su),添加文件的写权限(chmod u+w /etc/sudoers),编辑/etc/sudoers文件(vi /etc/sudoers,加入git  ALL=(ALL)  ALL),然后保存退出即可。

  5、初始化服务器端Git仓库

  命令:git init --bare /home/git/myRep.git

  

三、windows搭建Git客户端

  1、去Git官网下载(默认选项安装)

  https://git-scm.com/downloads

  2、安装完成之后,在桌面右击会出现“Git GUI Here”和“Git Bash Here”或者在开始菜单有Git快捷方式,点击Git Bash Here,出现命令框

  】        

  3、在windows客户端配置无密码SSH登录

  命令:ssh-keygen -t rsa

  生成密钥,在windons用户下/.ssh文件夹下

  

  将生成的公钥id_rsa.pub拷贝到ubuntu服务器上

  在ubuntu服务器上创建.ssh文件夹并进入目录创建authorized_keys文件,创建完成后将公钥内容追加到此文件中

  命令:mkdir .ssh

     touch authorized_keys

     cat id_rsa.pub >> /home/git/.ssh/authorized_keys

  

四、测试

  1、在ubuntu服务器上创建一个空文件夹/home/git/GitServer作为git仓库

  2、使用git init初始化这个git仓库

  

  创建完成之后会发现在GitServer目录下多了一个.git目录(使用ls -a查看):

  

  此时,在git仓库的目录下写一个readme.txt

  

  3、使用git add命令将其添加到git仓库,然后使用git comment命令提交到仓库中

  

  注意:此命令都是在认证身份后执行的

  

  4、在windows的Git Bash中使用git clone从git仓库中拷贝项目文件(ubuntu服务区IP:192.168.1.102)

  命令:Git clone git@192.168.1.102:/home/git/GitServer

  

  5、拷贝结果:

  

  

   

  自此一个简单的Git版本控制服务器就搭建完成了,后续博主还会持续更新关于Git更详细的内容!!!

  

  

Git版本控制之ubuntu搭建Git服务器的更多相关文章

  1. ubuntu搭建svn服务器并htpp访问版本库并svn与web同步

    Ubuntu搭建SVN服务器多版本库 1  介绍   Subversion是一个自由,开源的版本控制系统,这个版本库就像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况.这样就可 ...

  2. Ubuntu搭建Anki服务器

    Ubuntu搭建Anki服务器 第一步安装Anki 阿里云的服务器,xshell远程登录上 #以root用户进行操作 #安装Akni服务 easy_install AnkiServer #添加名为an ...

  3. Ubuntu搭建NFS服务器,NFS协议详细分析

    目录 1. Ubuntu搭建NFS服务器 2. NFS协议分析 2.1 实验拓扑: 2.2 在kali抓包分析 1. Ubuntu搭建NFS服务器 ​ NFS(Network FileSystem,网 ...

  4. Ubuntu 搭建Web服务器(MySQL+PHP+Apache)详细教程

    Ubuntu 搭建Web服务器(MySQL+PHP+Apache)详细教程 看了好多人的博客,有的不全 or 有问题,整理了一下,适合小白 新手先整理几个小问题 1.为啥使用 Linux 搭建服务器? ...

  5. Ubuntu 搭建 LAMP 服务器

    /******************************************************************** * Ubuntu 搭建 LAMP 服务器 * 说明: * 想 ...

  6. Linux Ubuntu搭建git服务器

    1. 安装 openssh-server ,用于创建SSH服务. sudo apt-get install openssl-server 使用命令ps -e|grep ssh,查看ssh服务是否启动. ...

  7. 自定义Git之使用centos搭建git 服务器

    Github 公开的项目是免费的,但是如果你不想让其他人看到你的项目就需要收费. 这时我们就需要自己搭建一台Git服务器作为私有仓库使用. 接下来我们将以 Centos 为例搭建 Git 服务器. 1 ...

  8. git基本使用(搭建Git服务器)

    我操作的是阿里的云服务器Linux系统的.系统不一样可能指令也不一样: 简要说明: git是分布式版本控制系统,也就是说每个开发人员的本地库和远程的库都是一样的. 基本思路: 1.在远程服务器上的一个 ...

  9. Ubuntu搭建Gitlab服务器

    想到Gitlab就必定会想到SVN,因为两者都是代码管理系统,作为开发人员来说,用习惯了SVN的图形化界面和SVN代码更新和提交的方式, 可能就会觉得使用git会比较麻烦,其实不然git使用起来非常方 ...

随机推荐

  1. HDU 1223 还是畅通工程(最小生成树prim模板)

    一个很简单的prim模板,但虽然是模板,但也是最基础的,也要脱离模板熟练打出来 后期会更新kruskal写法 #include<iostream> #include<cstdio&g ...

  2. FastJson格式化Request对象导致的一次异常思考

    一.问题描述: 近期,在环境中出现一个阻塞性的异常“nested exception is java.lang.IllegalStateException: It is illegal to call ...

  3. Vue中的slot(占坑,预留位置)

    Vue中的slot(占坑,预留位置) 子模板不使用slot 子模板使用slot 子模板使用使用name属性,且传递data 文件名:Slots.vue //slot组件 <template> ...

  4. java中的equals方法与"=="运算符解说

    在编程的时候,我们可能经常会用到equals方法,那么这个equals方法和运算符“==”有什么样的区别? public class equal { /** * @param args */ publ ...

  5. List<Object> 多条件去重

    上一篇将到根据某一条件去重List<Object> 对象链表.本文章根据多条件去重List<Object>去重 private List<StaingMD0010> ...

  6. 松软科技课堂:SQLUNION和UNIONALL操作符

    SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每 ...

  7. charles 镜像工具

    本文参考:charles 镜像工具 镜像工具会在你浏览指定网站时,把抓取到的文件克隆一份,并保存在你指定的路径下: 注意:如果你配置是www.aaa.com; 那么只会抓这个域名下的文件,这个域名如果 ...

  8. centos下nc的安装和使用

    安装:yum install nc.x86_64 发送文件: nc -l port < somefile.xxx 接收文件: nc -n x.x.x.x port > somefile.x ...

  9. pip安装Mysql-python报错EnvironmentError: mysql_config not found

    如下图,安装Mysql-python报错EnvironmentError: mysql_config not found 经过验证,可通过以下方式解决: 从官网下载mysql安装,成功之后输入PATH ...

  10. [Leetcode] 第289题 生命游戏

    一.题目描述 根据百度百科,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在1970年发明的细胞自动机. 给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞.每个细胞具有一个初 ...