局域网内基于Windows使用copssh搭建git服务器

搭建背景

公司局域网内需要多人协同开发一个软件系统,需要做一个版本控制,首先想到的工具是GIT。在网上查阅了部分资料,尝试了一些方法成功了,因为结合了一些方法,所以把这个分享出来,希望能帮到像我这样的小白们。

准备工作

(1) Git-2.15.1.2-64-bit.exe 官网下载
(2) Copssh_4.1.0_Installer.exe ****就有分享的
(3) Win7 64位操作系统

安装git

默认安装就可以了
局域网内基于Windows使用copssh搭建git服务器
局域网内基于Windows使用copssh搭建git服务器
局域网内基于Windows使用copssh搭建git服务器
注意选不选on the desktop没影响
局域网内基于Windows使用copssh搭建git服务器
局域网内基于Windows使用copssh搭建git服务器
局域网内基于Windows使用copssh搭建git服务器
局域网内基于Windows使用copssh搭建git服务器
局域网内基于Windows使用copssh搭建git服务器

局域网内基于Windows使用copssh搭建git服务器
局域网内基于Windows使用copssh搭建git服务器
局域网内基于Windows使用copssh搭建git服务器

配置Git

双击桌面”Git Bash”快捷方式或者开始栏里找到”Git Bash”打开git窗口
(1) 设置用户名,如anna
git config --global user.name “anna”
(2) 设置邮箱,如[email protected]
git config --global user.email "[email protected]"
(3) 设置公私钥
ssh-****** –C ‘[email protected]’ –t rsa
一直按回车
局域网内基于Windows使用copssh搭建git服务器

安装SSH

局域网内基于Windows使用copssh搭建git服务器
局域网内基于Windows使用copssh搭建git服务器
局域网内基于Windows使用copssh搭建git服务器局域网内基于Windows使用copssh搭建git服务器
局域网内基于Windows使用copssh搭建git服务器
局域网内基于Windows使用copssh搭建git服务器
通过开始栏打开”01.COPSSH Control Panel” 显示如下表示安装成功且运行正常。
局域网内基于Windows使用copssh搭建git服务器
我在同事电脑上试验的时候发现安装成功但是亮红灯,发现是杀毒软件的作用,后来关闭了杀毒软件,并且按如下操作:
(1) 点击开始栏里Copshh下”08.Uninstall COPSSH”,卸载COPSSH;
(2) 打开控制面板中用户账户,删除新建的用户” SvcCOPSSH “;
(3) 打开控制面板中程序与功能,移除和ICW及COPSSH相关的程序;
(4) 重启电脑;
(5) 重新安装COPSSH。

配置SSH用户

(1) 添加用户
局域网内基于Windows使用copssh搭建git服务器
局域网内基于Windows使用copssh搭建git服务器
局域网内基于Windows使用copssh搭建git服务器
这里我选择的是本机正在操作的用户。
局域网内基于Windows使用copssh搭建git服务器
局域网内基于Windows使用copssh搭建git服务器
局域网内基于Windows使用copssh搭建git服务器
(2) 配置KEY
点开Keys里面空白,此时将C:\Users\ZhangXY.ssh\id_ras_pub 里的公钥复制到 c:/ICW/home/ZhangXY/.ssh/authorized_keys,如果没有authorized_keys文件则新建此文件,并且注意没有后缀名。操作完成后发现点开“Keys”,里面已经有一个“Public Key”了。
注意这里要将文件路径对应你电脑的本地路径。
局域网内基于Windows使用copssh搭建git服务器

测试链接ssh服务器

打开git bash,进入SSH安装目录下的bin文件夹,调用ssh.exe文件:
“ssh 用户名@你的服务器名称或者IP地址”,键入”yes”连接服务器成功
局域网内基于Windows使用copssh搭建git服务器

ssh服务器上使能git操作

此时在服务器并不能识别git语句,如图所示:
局域网内基于Windows使用copssh搭建git服务器
所以要进行一些配置:
(1) 复制文件到ICW文件夹中,如下表所示:

源文件夹 源文件/文件夹 目标文件夹
C:\Program Files\Git\mingw64\bin libiconv-2.dll C:\ICW\bin
C:\Program Files\Git\mingw64\libexec\git-core git.exe、git-receive-pack.exe、git-upload-archive.exe、git-upload-pack.exe C:\ICW\bin
C:\Program Files\Git\mingw64 share(文件夹) C:\ICW

(2) 修改文件,如下表所示:

文件位置 文件名称 增加内容
C:\ICW\etc profile gitpath=’/cygdrive/C/Program Files/Git/mingw64/bin’ gitcorepath=‘cygdrive/C/Program Files/Git/mingw64/libexec/git-core’ exportPATH="/bn:$syspath:$gitpath:$gitcorepath:$winpath"
C:\ICW\home\ZhangXY .bashrc gitpath=’/cygdrive/C/Program File/Git/mingw64/bin’ gitcorepath=‘cygdrive/C/Program File/Git/mingw64/libexec/git-core’ PATH=${gitpath}: ${gitcorepath}: ${PATH}

注意其中4处“C/Program File/Git“要修改为本机git的安装路径,每句代码之内无空格,有的请删除。
局域网内基于Windows使用copssh搭建git服务器局域网内基于Windows使用copssh搭建git服务器
注意如果上个步骤中已经尝试git操作并失败了,在完成步骤7之后要使用exit退出服务器并重新登录。
局域网内基于Windows使用copssh搭建git服务器

建库操作

mkdir test1 //创建test1文件夹
cd test1 //进入test1文件夹
git init //版本库初始化,会以testgit为库名建立一个新库
touch temp1.txt temp2.bin //创建temp1.txt和temp2.bin
局域网内基于Windows使用copssh搭建git服务器
完成上述操作后,文件夹C:\ICW\home\ZhangXY内就会生成一个新的包含2个文件的test1文件夹
局域网内基于Windows使用copssh搭建git服务器

局域网内基于Windows使用copssh搭建git服务器
git add . //将文件添加至Git
局域网内基于Windows使用copssh搭建git服务器
git config –global user.email “[email protected]”//设置邮箱地址
git config –global user.name “Your Name” //设置用户名
git commit –m “init” //将修改提交至Git
局域网内基于Windows使用copssh搭建git服务器
注意客户端克隆的是提交过的版本。

客户端操作

可以将本机或局域网内其他机器作为客户端,此处我选择的是本机,经测试其他机器也能操作成功,只是需要输入服务器用户密码。
在桌面新建一个文件夹,命名为user1,选中右键点击 git bash here,输入“git clone 服务器用户名@服务器IP地址:远程仓库名”
局域网内基于Windows使用copssh搭建git服务器

发现user1中多了test1文件夹,即成功的完成了远程仓库克隆。
打开test1,在里面增加文testgit.txt件,并修改temp.txt局域网内基于Windows使用copssh搭建git服务器
进入test1文件夹后利用git status 可以查看修改
局域网内基于Windows使用copssh搭建git服务器
提交修改,并且用git push直接推送到仓库,发现不能将修改提交到主分支,这是设置问题,可根据提示进行修改
局域网内基于Windows使用copssh搭建git服务器
修改方法:将ssh服务器远程仓库test下.git/config文件后面添加如下代码:
局域网内基于Windows使用copssh搭建git服务器
再次推送发现推送成功
局域网内基于Windows使用copssh搭建git服务器
此后局域网内就可以用git来协同合作和管理版本了。

参考资料

1.在Windows10下搭建Git服务器 使用COPSSH+msysGit
2.Windows+Git+TortoiseGit+COPSSH安装图文教程