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

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

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

Git-1.8.1.2-preview20130201.exe
Copssh_4..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,在命令行下,依次运行以下命令

  

 mkdir myproject    //创建我的项目目录,命名为myproject
cd myproject      //进入该目录
touch helloworld.txt //在目录下创建个文件,以备后续测试
git init        //初始化该仓库
git add .        //当前目录下所有文件都加入到暂存区 
git config --global user.email “xxx@xxx.com” //创建全局git账号
git config –global user.name “Jason Huang” //创建全局git账号
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. 搭建过程中遇到了不少问题,从各位大神的文章中汲取了不少营养,非常感谢各位的分享,这里我也将我的一点经验分享给大家,节省下大家宝贵的时间。

Git系列(1) Windows下Git服务器搭建的更多相关文章

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

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

  2. Git版本管理:Windows下Git配置与使用指南

    简要介绍:Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理. 一.安装 软件:msysGit-fullinstall-1.8.1.2 打开之后设置安装路径,默认为 ...

  3. Git版本管理:Windows下Git配置与使用指南 Gitlab

    简要介绍:Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理. 一.安装 软件:msysGit-fullinstall-1.8.1.2 打开之后设置安装路径,默认为 ...

  4. Windows下Apache服务器搭建

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

  5. Git系列四之在本地服务器搭建gitlab仓库管理(centeros环境下)

    1.Git仓库管理 现在本地已经创建了git仓库,又在gitlab上创建了一个git仓库,并且让这两个仓库进行远程同步,这样gitlab仓库既可以备份也可以与他人协作管理远程仓库以及根据需要推送或拉取 ...

  6. Git系列四之在本地服务器搭建gitlab仓库管理

    1.Git仓库管理 现在本地已经创建了git仓库,又在gitlab上创建了一个git仓库,并且让这两个仓库进行远程同步,这样gitlab仓库既可以备份也可以与他人协作管理远程仓库以及根据需要推送或拉取 ...

  7. git安装,windows下git bash默认目录更改

    最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑.不过,慢慢地有人把它移植到了Windows上.现在,Git可以在Linux.Unix.Mac和Window ...

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

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

  9. windows下SVN服务器搭建--VisualSVN与TortoiseSVN的配置安装

    在讲解之前,我们来思考两个问题: 1.什么是版本控制 2.为什么要用版本控制工具 ----------------------------------------------------- 版本控制工 ...

随机推荐

  1. ActiveX控件资料

    Visual Studio 2008(c#)开发ActiveX控件及制作CAB包总结(1) 分类: C#2011-05-27 15:50 403人阅读 评论(0) 收藏 举报 c#stringhook ...

  2. 《asp.net mvc3 高级编程》第一章

    以前项目中用过mvc2,虽然mvc4早已出来,但手头只有mvc3的书籍,索性就学学MVC3吧. asp.net mvc 3 概述 (1)友好的试图表达,其中包括新的Razor视图引擎 (2)支持.NE ...

  3. thinkphp整合系列之支付宝RSA加密方式

    thinkphp整合系列之支付宝RSA加密方式上篇博客写的是MD5加密方式:thinkphp整合系列之支付宝MD5加密方式扫码支付http://baijunyao.com/article/75 但是呢 ...

  4. Python学习笔记四--字典与集合

    字典是Python中唯一的映射类型.所谓映射即指该数据类型包含哈希值(key)和与之对应的值(value)的序列.字典是可变类型.字典中的数据是无序排列的. 4.1.1字典的创建及赋值 dict1={ ...

  5. 实验七:Linux内核如何装载和启动一个可执行程序

    原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 题目自拟,内容围绕对Linu ...

  6. 转:Java开发牛人十大必备网站

    原文来自于:http://www.importnew.com/7980.html 以下是我收集的Java开发牛人必备的网站.这些网站可以提供信息,以及一些很棒的讲座, 还能解答一般问题.面试问题等.质 ...

  7. cf C. Bits

    http://codeforces.com/contest/485/problem/C 利用位运算来解决这个题,从L开始,从每一位按位或,知道到达r位置,ans=ans|(1<<k);就可 ...

  8. android视图切换动画:ViewAnimator类及其子类

    类图:

  9. HDOJ 1163 Eddy's digital Roots 九余数定理+简单数论

    我在网上看了一些大牛的题解,有些知识点不是太清楚, 因此再次整理了一下. 转载链接: http://blog.csdn.net/iamskying/article/details/4738838 ht ...

  10. 前端工程师和web工程师的差异

    摘自园内一篇文章关于web工程师的思考,比较认同其中的一些观点 前端工程师知识结构:               精通: xhtml,css,JavaScript       熟悉:一种后端程序语言( ...