局域网内创建git服务器的简单方法
当资源有限,但是项目同时需要几个人协同开发,我们就需要配置一个简单的局域网内的git服务器,方便协同开发。
首先我们新建远端的git目录,目录名和本地仓库名一致,并且在目录下运行:
git init --bare
一个空的git仓库就建立好了。然后我们需要把本地的仓库和远端的关联起来。具体做法是,在本地git仓库的目录下执行:
git remote add origin ssh://用户名@ip/仓库路径
比如:git remote add origin ssh://android@192.168.31.72/home/android/projects/gitserver/demoproject/。完成后,本地的提交,就可以push到远端啦。比如:
git push origin master
就可以把本地的master推送到远端。协同开发的同事可以通过如下命令获取远端的仓库
git clone ssh://android@192.168.31.72/home/android/projects/gitserver/demoproject/
是不是很简单呢
ps:实际使用过程中发现了一个问题,即本机的ip地址不是静态的。如何解决这个问题呢?可以在每次ip改变以后,重置仓库的origin url:
git remote set-url origin {url}
windows怎么安装git服务器
Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在windows下的开发要把自己的Git仓库共享出去的话,就必 须做SSH服务器。
一、安装GIT
Windows下使用msysgit,
本文使用Git-1.7.8-preview20111206.exe 安装要点步骤
安装完成后,可以使用Git bash在命令行模式下操作git
二、安装CopSSH
安装CopSSH之前先确保防火墙开启了SSH端口,这个虽然不影响CopSSH的安装,但是影响SSH访问,所以写在前面。
CopSSH是windows下的SSH服务器软件,下载地址baidu之,本文使用的是Copssh_4.1.0_Installer.exe,
安装完成后,到控制面板中新建一个管理员账户root,用这个账户来共享SSH。然后你在账户管理中会看到之前的SvcCOPSSH账户。
将root用户添加到CopSSH用户中,为简单操作,允许使用密码认证方式
若是不允许密码认证,则需要使用公钥密钥方式认证,
三、CopSSH中使用GIT
现在已经安装GIT和CopSSH,接下来需要做的就是让CopSSH可以使用GIT的命令,这样不仅能够远程SSH管理GIT服务器,而且可以将GIT仓库通过SSH共享。具体的操作方法是将GIT的某些命令程序和动态链接库复制到CopSSH安装目录下即可。
l 将$ Git\libexec\git-core目录下的git.exe , git-receive-pack.exe , git-upload-archive.exe , git-upload-pack.exe复制到$ICW\bin目录下
l 将$Git\bin目录下的libiconv-2.dll复制到$ICW\bin目录下
重启CopSSH即可
怎么在windows下架设Git服务器
1、打开控制面板-管理工具-服务项目,禁用Windows防火墙服务。
2、打开控制面板-管理工具,双击“路由和远程访问”。然后右键点击服务器图标,再点击“配置并启用路由和远程访问”。
3、在“路由和远程服务器安装向导”中,选择“自定义配置”。
4、勾选“VPN访问”和“NAT和基本防火墙”。
5、点击“完成”。系统提示“要开始服务吗?”,选择“是”。
6、接下来开始配置路由和远程访问,我们先点击本地服务旁边的+按钮,把左侧菜单展开,再点击IP路由选择旁边的+按钮。
7、下面配置静态IP地址。右键点击本地服务,点击属性,再点击IP选项卡。
8、点选“静态地址池”,点击“添加”。输入一个起始IP地址和结束IP地址范围,推荐输入192.168.1.100到192.168.1.254这个范围,因为192.168段属于本地保留IP段。最后点击“确定”。
9、右键点击“静态路由”,再点击“新建静态路由”。
10、目标和网络掩码都输入0,网关请和TCP/IP属性中的默认网关保持一致。
11、删除“DHCP中继代理程序”中的“内部”项目。
12、然后右键点击“DHCP中继代理程序”,再点击“新增接口”。
13、选择“本地连接”,再点击“确定”,然后在弹出的对话框中点击“确定”。
14、右键点击“NAT/基本防火墙”,再点击“新增接口”,然后选择“本地连接”,点击“确定”。
15、在弹出的对话框中先点选“公共接口连接到Internet”,再勾选“在此接口上启用NAT”,最后点击“确定”。
如何在windows上架设Git服务器
如何在windows上架设Git服务器
翻译自google(或者googlecode?),自己加了一段关于ssh密钥的操作。
TortoiseGit + msysgit + CopSSH + WindowsXP as server
1.需要软件
msysgit (服务器和客户端)
CopSSH (服务器)
TortoiseGit (客户端)
Junction Link Magic (服务器,可选)
版本就不写了,找最新的就是
2.服务器上
安装msysgit
选择plink, 不是OpenSSH
选择将Git加入path (第二个选项)
安装CopSSH
使用默认设置安装
CopSSH默认安装在C:\Program Files\ICW\
修改CopSSH设置
在C:\Program Files\ICW\etc\sshd_config中, 下面一行取消注释并设为"no"
PasswordAuthentication no
建立一个windows账户
Control Panel User Accounts Create new account
在CopSSH中激活这个账户
Start Programs Copssh "Activate a user"
选择一个账户,其他的用默认(/bin/bash, 等)
输入密码,这个密码必须记住,将用来激活私钥。
在C:\Program Files\ICW\home, 每个账户有一个子目录。将其中的user.key和user.key.pub和刚刚输入的密码发给用户。
安装一个空的git仓库
如准备将D:\project1作为Git仓库
在cmd中输入如下命令
d:
md \project1.git
cd \project1.git
git --bare init
这样,d:/project1就成为一个git仓库
赋予用户修改权限
在D:\project1上右键 安全,允许刚建立的windows账户"写"和"修改"
服务器上打开22端口
由于ssh服务器不能找到git命令,需要如下操作:
Start CopSSH Start a unix bash shell.
cd /Bin
建立符号链接到git.exe, git-receive-pack.exe, git-upload-archive.exe, git-upload-pack.exe:
$ ln -s /cygdrive/c/Program\ Files/Git/bin/git.exe git.exe
$ ln -s /cygdrive/c/Program\ Files/Git/libexec/git-core/git-receive-pack.exe git-receive-pack.exe
$ ln -s /cygdrive/c/Program\ Files/Git/libexec/git-core/git-upload-archive.exe git-upload-archive.exe
$ ln -s /cygdrive/c/Program\ Files/Git/libexec/git-core/git-upload-pack.exe git-upload-pack.exe
(按自己的安装git的路径改,空格要转为"\ ")
可选步骤:安装Junction Link Magic
在C:\Program Files\ICW\home\用户的目录下建立一个空目录,名称为pro1
启动Junction Link Magic,将git仓库的目录D:\project1 junction到C:\Program Files\ICW\home\用户\pro1
服务器设置结束
3. 客户端上
对于用户,要有
私钥文件如user.key
私钥文件的密码
服务器地址
服务器上用户的ID
安装 msysgit
选择plink
选择将git放入windows path
安装TortoiseGit
安装后,在Settings Network SSH设置:
SSH Client = C:\Program Files\TortoiseGit\bin\TortoisePlink.exe
(下面的操作很可能不成功,需要另外的方式配置密钥)
运行C:\Program Files\TortoiseGit\bin\puttygen.exe:
CopSSH中生成的密钥是OpenSSH keys, 但这里需要putty keys。将私钥转成putty格式的。
按 "Load" 选择文件 user.key
找个地方保存私钥 user.ppk
运行C:\Program Files\TortoiseGit\bin\Pageant.exe
加入新生成的user.ppk,在询问密码时输入密码
注意: 每次启动后,都需要运行Pageant.exe, 加入user.ppk, 并输入密码.
在我的机器上,TortoiseGit自带的puttygen不认CopSSH生成的OpenSSH keys,需要下载最新的puttygen
来生成ppk私钥。
或另外一种方法是:使用puttygen生成ppk格式的私钥,并将生成时上部显示的公钥替换OpenSSH的authorized_kyes中的内容。
不过这样会导致无法交互式登入OpenSSH服务器,但仍可继续下面的操作。
4.开始使用
在用户的机器上clone git仓库
URL = user@server:d:/project1
或使用junction后的路径
URL = user@server:pro1
如不使用Pageant.exe,就要设置"Load Putty Key" (yes) = (path to user.ppk).并且每次和服务器的操作都要求输入密码。
注意:第一次连接服务器时,会要求保存服务器的公钥,选择yes。
(这里有个问题:git客户端会报服务器某个dll没有找到,这时把git安装目录下的那个dll文件复制到CopSSH的bin下就好)
如果服务器上的git仓库和CopSSH安装在同一个盘符上,则可以省略盘符,如
URL = ssh://user@server/project1 转载仅供参考,版权属于原作者。祝你愉快,满意请采纳哦
使用Gitolite搭建Git服务器
Git服务的管理工具,主要有如下几种。
Gitolite 使用perl语言编写,维护和更新比较积极,下面测试使用Gitolite搭建Git服务器。
一般新建用户 ~/.ssh/ 目录是不存在的。
生成路径会在ssh-kengen执行后给出,也可修改。windows下生成路径默认位于 C:/user/用户名/.ssh 下。
此时, gitolite 会初始化两个仓库,同时创建 authorized_keys 文件
管理库中有两个目录, conf/ 和 keydir/ 。
仓库的创建通过编辑 gitolite-admin/conf/gitolite.conf 即可,然后将配置后的文件上传服务器。
若本地已有仓库repo2,将其添加到服务器
gitolite可以通过用户组的方式进行管理
如上提示,需要输入密码。
需要安装 openssh ,并将 gitolite 用户添加在 sshusers 组中,有的服务器可能是 ssh 组。
计算机领域的Cookbook指的是实用经典案例的意思,是对一些普遍性问题的解决方案的总结和整理。