Windows下Git服务器搭建

 

  作为对前两天Git服务器搭建的一个整理,我想分别从服务端和客户端两个角度来记录下整个搭建过程,为了达到目标,我们需要哪些操作。

(一)服务端软件和账号的安装配置

  我们这里只需要两个软件git和ssh,软件版本如下,这两个版本的安装也是非常简单,基本只要注意一点即可:安装目录最好不要用默认路径,确保安装路径中没有空格。其他步骤基本一路Next即可。  

Git-1.8.1.2-preview20130201.exe
Copssh_4.1.0_Installer.exe

  安装完成后,我们要做个关联,主要是关联git和ssh,因为我们这里git要用ssh协议来连接服务器。操作方法是将git中的相关文件copy到ssh的bin目录中。

  我这里这两个软件的安装目录分别为   

//我的git安装目录 C:\git
//我的ssh安装目录 E:\ssh
//大家根据自己的安装目录,对下文提到的相关路径做相应调整吧
//需要copy的git文件列表如下:

  C:\Git\bin\ libiconv-2.dll

  C:\Git\libexec\git-core\git.exe

  C:\Git\libexec\git-core\git-receive-pack.exe

  C:\Git\libexec\git-core\git-upload-archive.exe

  C:\Git\libexec\git-core\git-upload-pack.exe

 //将这些文件copy到ssh的bin目录下,我这里对应的目录为 E:\ssh\bin

  接下来,我们需要在服务器上创建个账号,普通账号即可,我这里创建了个普通账号叫git。

   有了这个账号,我们接下来利用ssh control panel 来创建个对应的ssh账号,对应步骤截图如下:

   

  

  

  

  如上图所示,这里我们选择刚刚创建的专门账号git

  

  这里注意下,第一项 Allow password authentication没有勾选

  

  点击Apply,ssh中账号创建成功。

  至此,服务器的配置已告一段落了,我们可以在服务器上创建个仓库,以备后续的连接测试。由于我们之前创建了一个叫git的账号,在ssh的安装目录下的home目录里面,多了一个git目录。

  进入该目录,右键选择Git Bash,在命令行下,依次运行以下命令

  

1 mkdir myproject    //创建我的项目目录,命名为myproject
2 cd myproject      //进入该目录
3 touch helloworld.txt //在目录下创建个文件,以备后续测试
4 git init        //初始化该仓库
5 git add .        //当前目录下所有文件都加入到暂存区 
6 git config --global user.email “xxx@xxx.com” //创建全局git账号
7 git config –global user.name “Jason Huang” //创建全局git账号
8 git commit –m “init myproject repo”//将暂存区的文件全部提交到仓库,并添加注释

 (二)客户端软件的安装与配置

  与服务端一样,客户端也需要安装下git。

  安装完成后,需要创建个密钥对,主要用于与服务端连接的认证。步骤比较简单,打开Git Bash,输入命令ssh-keygen,对于后续命令行提示输入,一路默认回车即可。

  根据提示,默认生成的密钥对在当前用户目录下的.ssh目录下。

  

  

  接下来,为了使服务器认识我们的公钥,我们需要将密钥对中的公钥上传至服务器,用记事本打开刚刚生成的公钥文件id_rsa.pub,复制里面的所有内容。

  再回到服务器端,在我们之前创建的ssh的账号git对应的目录下home/git/.ssh,新建文件authorized_keys文件,注意这里没有文件后缀名,将刚刚复制的公钥粘贴进去,保存好。 

  最后,要确保服务器端口22是打开的,如果没有打开,去防火墙配置下,至少保证入站端口22是打开的,因为这里ssh连接的默认端口是22。 

  至此,客户端相关配置基本完成。我们可以开始clone了,创建一个目录,然后Git Bash,运行以下命令  

//这里我的服务器IP地址为192.168.1.168
git clone ssh://git@192.168.1.168:22/ssh/home/git/myproject

  顺便说一下,如果之后push的过程中出现提示“Push to origin/master was rejected”,解决方案是将下面的这段配置加载服务端项目的.git目录下的config文件中

[receive]
denyCurrentBranch = ignore

  That's all. 搭建过程中遇到了不少问题,从各位大神的文章中汲取了不少营养,非常感谢各位的分享,这里我也将我的一点经验分享给大家,节省下大家宝贵的时间。

可以尝试下Gitblit,一键部署,自带类似于github的web界面。当然功能上跟github差很多。

哎呀,这是多么老的方法了。推荐我开发的GitCandy,在windows下秒建服务器。

http://gitcandy.com
https://github.com/Aimeast/GitCandy

自由 分享 进步
 
分类: 版本控制

Windows下Git服务器搭建[转]的更多相关文章

  1. Git系列(1) Windows下Git服务器搭建

    作为对前两天Git服务器搭建的一个整理,我想分别从服务端和客户端两个角度来记录下整个搭建过程,为了达到目标,我们需要哪些操作. (一)服务端软件和账号的安装配置 我们这里只需要两个软件git和ssh, ...

  2. Windows下SVN服务器搭建方法整理(apache)

    http://skydream.iteye.com/blog/437959 http://www.cnblogs.com/liuke209/archive/2009/09/23/1572858.htm ...

  3. CentOS 6.5下Git服务器搭建

    1 . Git服务器搭建 1. 环境部署 系统环境:服务器端:CentOS 6.5 ,ip:192.168.56.1 客户端:CentOS 6.5 ,ip:192.168.56.101 软件版本:服务 ...

  4. Windows下Apache服务器搭建

    Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,是世界使用排名第一的Web服务器软件,可以在大多数计算机操作系统中运行,由于其多平台和安全性 ...

  5. windows下git server搭建

    使用gitblit1.8搭建 首先要安装JDK 然后下载gitblit,这里给一个CSDN下载 https://download.csdn.net/download/nietzsche0/104826 ...

  6. centos 下git服务器搭建

    准备 CentOS Linux release 7.0.1406 (Core) ssh 22端口 http 80端口 本文主要是ssh协议支持,http协议配置后还有问题. 摘抄的一段说明 SSH 协 ...

  7. Windows下ftp服务器搭建及配置

    Win系统使用ser-u软件进行FTP服务器的搭建下载地址:https://www.serv-u.com/操作步骤如下:1. 点击执行程序进行按照SU-FTP-Server-Windows-v15.1 ...

  8. windows下subversion服务器搭建

    一.下载subversion服务器端和客户端软件 1.subversion下载地址:http://subversion.tigris.org/ 2.svn比较流行的客户端Tortoisesvn下载地址 ...

  9. Windows下SVN服务器搭建和基本操作(服务端、客户端)

    自己打算打一个SVN服务器了解一下,所以顺便记录一下整个的过程 下载 服务端 https://www.visualsvn.com/server/download/ 客户端 https://www.vi ...

随机推荐

  1. oracle乱码问题

    oracle乱码问题通常是因为oracle字符集设置和操作系统字符集设置不一致造成的,这里不得不提到两个操作系统环境变量,LANG和NLS_LANG LANG是针对Linux系统的语言.地区.字符集的 ...

  2. 【Cocos2d-X开发学习笔记】第30期:游戏中数据的存储(下)

    本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010 一.对数据进行编解码 在上一期中,我们使用了CC ...

  3. loj1201(最大独立集)

    传送门:A Perfect Murder 题意:有一群苍蝇,之间有一些是朋友关系,如果杀了一只苍蝇,那么它的朋友们都会有警惕性,再也杀不了这些朋友了,问最多能杀多少只苍蝇. 分析:根据朋友性连边,最多 ...

  4. 使用CXF创建REST WEBSERVICE

    简单小结下CXF跟REST搭配webservice的做法,直接举代码为样例: 1 order.java   package com.example.rest; import javax.xml.bin ...

  5. hdu1535(最短路)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1535 题意:给你一个源点,让你从这里派发n个学生去其余的n-1个站点去邀请人们去CSS,然后再返回CS ...

  6. 【Ruby】Ruby的model学习——Active Record Associations

    在阅读的过程中有不论什么问题,欢迎一起交流 邮箱:1494713801@qq.com    QQ:1494713801 一.怎样定义关联 两个model之间经常会存在关联关系,为了解决这些关联引起的复 ...

  7. SocketAsyncEventArgs使用解说

    原文:SocketAsyncEventArgs使用解说 如果在.NET下写过网络通讯的同学应该感觉不陌生了,有很多刚入门的同学很多都认为这东西可以大大提高处理效能还有就是使用上很不适应.其实使用之前最 ...

  8. Android利用Get、Post 获取网络数据

    首先是Get: 布局非常easy.就一个button,主要看一下MainActivity吧: package com.francis.httpget; import android.app.Activ ...

  9. 软考之CPU的寻址方式

    在复习软考的时候,发现CPU的内部工作原理这一部分的内容挺重要的,现对CPU的寻址方式进行了一下总结.以下就来一一介绍一下. 我们都知道一个指令分为操作码和地址码两部分.操作码确定指令的类型.地址码确 ...

  10. MYSQL中取当前年份的第一天和当前周,月,季度的第一天/最后一天

    mysql 获取当年第一天的年月日格式:SELECT DATE_SUB(CURDATE(),INTERVAL dayofyear(now())-1 DAY); MySQL里获取当前week.month ...