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. java 代理模式-静态代理与动态代理

    最近在研究SpringAOP,当然要学习AOP就要知道这么健硕.强大的功能的背后究竟隐藏着怎样不可告人的“秘密”?? 接下来就是查阅了许多资料详细的研究了一下Java的代理模式,感觉还是非常非常重要的 ...

  2. Python连载37-多进程、进程子类、进程父子id

    一.线程替代方案 1.subprocess (1)完全跳过线程,使用进程 (2)是派生进程的主要替代方案 (3)python2.4后引入 2.multiprocessing (1)使用threadin ...

  3. Container容器crontab错误问题

    问题描述 容器中的cron定时计划任务不执行 问题分析 排查一:检查Container容器是否安装cron # rpm -qa | grep cron # ls /etc/init.d/ 若没有安装, ...

  4. 如何在Centos服务器上搭建起Oracle10、VNC、以及FTP

    一.重装和分区 1.配置所需磁盘阵列(Raid): 2.正确分区: 3.Centos安装:过于简单,请自行bd. 二.连网 系统安装完成之后,我们需为其分配IP和DNS: "编辑连接&quo ...

  5. Net基础篇_学习笔记_第十天_方法_方法的练习

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  6. Spring入门(十二):Spring MVC使用讲解

    1. Spring MVC介绍 提到MVC,参与过Web应用程序开发的同学都很熟悉,它是展现层(也可以理解成直接展现给用户的那一层)开发的一种架构模式,M全称是Model,指的是数据模型,V全称是Vi ...

  7. 04:videoToolbox:硬编码

    一:前言: 1:apple develop 来源 2:VideoToolbox(视频工具箱)工作流程 2.1:创建 一个压缩会话. 2.2:添加会话属性. 2.3:编码视频帧.接受视频编码回调. 2. ...

  8. JavaScript之对象Array

    数组Array是JavaScript中最常用的类型之一,同一数组中可以保存任意类型的数据,并且它的长度是动态的,会随着数组中数据的加减自动变化.每个数组都有一个表示其长度(数组元素的个数)的lengt ...

  9. Cannot find class: com.mysql.jdbc.Driver错误及解决办法。

    在刚刚开始搭建Mybatis源码解析,一步一步从浅入深 简单示例的时候,我使用的是mysql 5.1.12版本的驱动包.运行时出现如下错误: Cause: java.sql.SQLException: ...

  10. filebeat的@timestamp字段时区问题

    最近使用filebeat进行日志采集,并通过logstash对日志进行格式化处理. filebeat采集数据后,会给日志增加字段@timestamp,@timestamp是UTC时间,查看日志很不方便 ...