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. 【Offer】[62] 【圆圈中最后剩下的数字】

    题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 0,1,,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的最后一个数字. 牛客网刷题地址 ...

  2. 【Offer】[48] 【最长不含重复字符的子字符串】

    题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度.假设字符串中只包含'a'~'z'的字符.例如,在字符串&q ...

  3. maven仓库的配置

    今天接触到了maven的配置问题,特此来记录一下,也给我这样的小白一个参考. 目标:eclipse中配置指定的maven仓库. 说明: 使用过maven项目的话,会在你的C:\Users\lenovo ...

  4. day01小结

    Java特点 1,面向对象的(write once,run anywhere) 2,跨平台的 ,,,,,, Java体系结构 JavaSE,JavaEE,JavaME,Java Card 对JDK,J ...

  5. SQLServer的排序规则(字符集编码)

    SQLServer的排序规则(字符集编码) 一.总结 1.SQLServer中的排序规则就是其他关系型数据库里所说的字符集编码: 2.SQLServer中的排序规则可以在3处设置,如下: 服务器级别( ...

  6. charles 黑名单

    本文参考:charles 黑名单 charles 黑名单 功能:阻止对匹配HOST的请求:可以直接把请求丢掉,也可以直接返回403状态码: 我一般用黑名单工具来block一些软件的自动上传功能 黑名单 ...

  7. 21 (OC) 数据持久化

    概论 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据.在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: plist文件(属性列表) ...

  8. 用Promise处理异步函数

    处理函数之间的异步问题,使其同步进行的其中一种方法,就是使用Promise.Promise在ES6中被提出. 使用示例如下: 假如有三个函数,要求按getone.gettwo.getthree的顺序执 ...

  9. 公开的免费WebService接口分享,用于做接口练习

    本文转载于 https://cloud.tencent.com/developer/article/1349603 天气预报Web服务,数据来源于中国气象局 Endpoint http://www.w ...

  10. web前端开发面试题(附答案)-2

    1.label是什么标签,有什么作用?和for属性使用的作用? label标签来定义表单控制间的关系,当用户选择该标签时,浏览器会自动将焦点转到和标签相关的表单控件上. label 元素不会向用户呈现 ...