windows搭建本地git服务器、git客户端

转载,请注明文章出处。http://blog.csdn.net/ccf0703

最近接触到了git,感觉到了它的强大和方便,git在linux环境下使用起来是非常方便,但如何在windows下搭建一个基于ssh的git服务器呢?闲话不多说,开始。

1、所需的软件下载及安装

所需工具下载地址:

msysgit    http://code.google.com/p/msysgit/downloads/list?q=full+installer+official+git

copssh    http://www.onlinedown.net/soft/20018.htm

若只要使用git,只需要安装msysgit就行了。copssh是一个ssh服务器软件。

msysgit的安装:

我把安装中关键的几步截图说明,其余直接点击next 就行。

关于安装路径说明,最好放到每个盘的根目录下,这里我放到了c盘根目录下,注意:路径最好不要有空格,因为空格不好处理,所以这也是没有放到Program Files目录下的原因。

接下来的几步,按照图片所示选择即可

然后等待安装完成即可

copssh的安装直接下一步就行。需要注意的还是路径问题,跟上面一样,最好放在根目录下,我这里放到了d盘。

安装完成。所需环境已经搭好了。

2、对程序做相应配置

一、git相应配置

打开这个图标,进入命令行。在这里,git的命令都可以使用,配置好git的user.name和user.email。git的使用,这里不多说。

接着,在命令行下,使用命令 

ssh-keygen -t rsa 

创建一对公私钥,默认放到当前用户目录下的.ssh文件夹中。用记事本打开后缀为.pub的公钥文件,复制其中的内容,用于接下来的copssh的配置。

二、copssh的配置

从开始菜单中找到安装好的copssh文件夹,打开其中的COPSSH Control Panel。

切换到Users选项卡。若Activated users下为空,则点击旁边的“Add”按钮。

在弹出的窗口中点击“Forward”,进入下一步,接着,在User中选择一个用户后,点击“Forward”,接着把options的第一个选项“Allow password authentication”的勾去掉,因为我们要用公私钥来登陆,不用密码登陆。接着点击“Forward”完成用户添加。添加后应该如下图。

接着,点击右下方的“Keys”按钮,弹出窗口。这里显示的就是ssh服务器中保存的公钥信息了。若有公钥信息,用户就可以使用对应的私钥来远程登陆到ssh服务器进行相应的操作了。第一次我们安装的时候,public key里应该是空的,我们现在要做的,就是把上一步中,我们自己生产的公钥的信息,添加到这里来,步骤如下。

找到COPSSH的安装目录,然后打开其中的home文件夹,可以看到里面有以我们刚加入的user的名字命名的文件夹,进入其中,打开.ssh文件夹。在里面新建一个名字为authorized_keys的文件。注意,这里没有任何后缀。然后用记事本打开,然后将刚才我们配置git时产生的公钥里的全部信息复制拷贝到这个文件里。然后,保存退出。

回到COPSSH Control Panel中,将点击“Keys”产生的窗口关闭后,再打开,会看到其中有了一个公钥信息了,如下图。

到了这里,我们已经可以使用我们的私钥,来登陆这个ssh服务器了。打开“Git Bash”。在命令行里输入

ssh [email protected]

ccf就是在COPSSH中配置的用户名,192.168.1.100是我的ip地址,这些都根据你自己的设置,配置成自己的信息。登陆成功后如下图。

接下来你会发现,登陆成功以后,可以使用linux的命令,但是git的命令还是不能使用,别急,接下来我们解决这个问题。

我使用的解决方法很简单,如下。

 将$ Git\libexec\git-core目录下的git.exe , git-receive-pack.exe , git-upload-archive.exe , git-upload-pack.exe复制到$ICW\bin目录下

将$Git\bin目录下的libiconv-2.dll复制到$ICW\bin目录下

将$Git下的share目录整个拷贝到$ICW下。

其中,$Git是指msysgit的安装目录  ,同理$ICW指COPSSH的安装目录。

至此,配置完毕,接下来,开始使用。

3、git服务器的测试

打开“Git Bash”,使用命令

ssh [email protected]

连接到ssh服务器。这个命令上面有说明。

然后依次使用下列命令

mkdir test.git

cd test.git

git init --bare

新建一个名为test.git的文件,并在其中建立一个纯git仓库。

然后使用命令exit退出ssh服务器

然后依次输入下面命令:

cd d:

mkdir test

cd test

git clone [email protected]:test.git . 

在d盘下新建一个test文件夹并从服务器clone一个git仓库。

接着依次输入下列命令

touch a b c

git status

git add .

git commit -m "just for test"

git push origin master

一切正常,也能push到服务器上,至此,git服务器搭建并测试完毕。

4、自己搭建git服务器用途

 做了上面这些到底有什么用呢?如果你是在自己家里上网,你可以在自己电脑上搭建一个git服务器,提供给你的朋友使用,可以和你的朋友一起开发一个东西,而且不用再一起就行,只要能连上因特网。

当然要做一个服务器,首先要能连接到外网,如果你处在路由器的局域网内,需要做  端口映射,ssh服务器的端口号是22,至于怎么做,可以谷歌之,当然条件是,你家里的路由要是连的是internet。我就悲剧了,因为用的宽带通,本身就在他们的局域网内,而我没法登陆他们的路由去管理,所以也就没有实验。(早知用联通了。。。哎。)

至于对PPOE拨号IP地址会变动的问题,给你一个解决方案:动态域名解析。有免费的可以用,比较有名就是花生壳和希网,个人觉得,希网比较好用,这个,看个人喜好了,哈哈。如果对这个不了解,请谷歌(不要问我为什么不用百度)。

好了,这篇文章就到这里。最后吐槽一下,第一次写技术总结,发现可真累,整整写了一下午啊。以前总看别人的不觉得,向乐于奉献的人致敬。

有什么问题,欢迎留言。大家一起学习,进步。

Git本地服务器环境搭建

    搭建好的本地git服务器的局域网ip是192.168.1.188,用户名是RSCSVN

教程链接:http://blog.csdn.net/ccf0703/article/details/7578276

  1. 安装git(git下载地址:https://git-scm.com/downloads

  2. 配置git的系统环境变量(或 使用gitBash)以执行git命令

  3. 生成用户密钥(参照以上教程链接)

  4. 搭建本地 git,并与git.oschina.net 链接 http://my.oschina.net/icelily/blog/141342 ,http://my.oschina.net/longxuu/blog/141699

Git客户端环境搭建

  1. 安装git(推荐【msysGit+TortoiseGit】,下载地址:https://tortoisegit.org/download/)
  2. 配置git的系统环境变量(或 使用gitBash)以执行git命令

    1. 配置git环境变量

      修改系统环境变量,在PATH后新增git 下的bin目录以及git下usr目录下的bin(如果有,与git版本有关)

    2. 验证是否配置成功

      打开命令提示符,在其中输入git,如果出现下图所示的提示,说明配置成功

  3. 连接git服务器,配置用户密钥

    打开gitBash(如果配置了git的环境变量的话可以直接在命令提示符中进行操作),执行

    ssh [email protected]

    命令,第一次执行因为是未知的地址会出现警告,,输入yes并回车继续连接因为我们要使用密钥进行连接,没有配置密钥就会连接失败,现在在运行中输入 %USERPROFILE% ,打开之后会出现一个.ssh目录(如果没有不要慌,打开git的安装目录看有没有生成一个.ssh目录),将本地git服务器上生成的用户密钥放在.ssh目录下,如果密钥名称不是 id_rsa,这修改为 id_rsa。

            之后再连接就可以连接成功了

    出现这样的提示就表示已经通过ssh登录上本地git服务器了,可以使用 exit 命令来退出本地git服务器

在本地git服务器上创建git版本库

  1.配置好密钥之后,执行 ssh命令进行连接

    ssh [email protected]

        这里版本库以test为例

2.创建目录

mkdir test.git

3.进入目录

cd test.git

4.初始化版本库

git init --bare

Git客户端操作

  1. 创建本地版本库

    如果是新项目则创建一个目录,打开这个目录,如果是已有项目打开项目所在目录

  2. 初始化版本库

    执行git命令

    git init

  3. 添加不追踪的文件

    使用tortoiseGit添加文件到不追踪文件列表文件中

    推荐IgnoreFile选择第一个,在项目根目录下生成一个.gitignore文件,在文件中定义不追踪的文件。

    自定义创建 .gitignore文件:

    在希望创建的目录使用git-bash或配置好环境变量直接在命令提示符中执行 touch .gitignore 命令

  4. 添加要上传到git服务器的文件

    使用tortoiseGit添加要上传的文件,经过第3步我们已经将不追踪的文件排除在外,add时全选即可,使用tortoisegit的话会让添加文件等一系列操作方便很多,所以还是大力推荐使用的

    add结束之后会出现这样的界面,这里我不使用commit,自己写commit命令进行commit

  5. 提交 commit

    执行git命令

    git commit -a -m "commitMsg"

  6. 推送到服务器版本库 push

    继续执行git命令,更新服务器

    git push [email protected]:test.git master

    出现这样的提示说明push成功

  7. 从服务器版本库拉取最新代码

    执行git命令

    git pull [email protected]:test.git master

      8.记住git用户名及密码

打开运行窗口,输入 %USERPROFILE%,打开此目录有一个.gitconfig文件,打开命令提示符,执行命令

git config --global credential.helper store

     

         执行完以上命令之后,就会发现 .gitconfig文件中内容发生了变化

在输入一次之后用户名及密码之后,用户名及密码会保存到该目录下的 .git-credentials 文件中,内容类似这样

https://{username}:{password}@github.com

猜你喜欢

转载自blog.csdn.net/demonson/article/details/81975391