win7 如何搭建git服务器

win7 如何搭建git服务器,第1张

在Win7下搭建GIT SSH服务.

项目需要做版本管理,有一个要求就是需要离线提交.这一句,直接封杀了Vss.VSN.

TortoiseHG虽然易用,但对中文文件名,支持很差,无法将中文文档提交.找了半天原因无果.

只能转向GIT.

安装GIT以及搭建Git服务一共用到下列软件:

copSSH (注:SSH服务器软件)

msysgit (注:WINDOWS下的git安装包)

TortiseGIT (注:WINDOWS下的git图形化软件,与TortiseSVN是同门)

PuTTY Installer (注:生成公钥-私钥对的软件,并可用于SSH客户端的登陆)

我参考了如下文档

GIT视频教程:(http://v.youku.com/v_playlist/f5227985o1p0.html)

国人写的,这哥们对GIT有两个视频.看一下,对初学者帮助不小.

GIT入门教材:

Pro Git中文版(http://www.open-open.com/doc/view/8174703a87164898a5444abd95fc3e4b)

这个教程,是翻译的,翻译质量挺高.对学习Git有很大帮助.

在Windows下安装GIT服务:

如何在WINDOWS(XP)下使用copSSH配置GIT服务器+TortiseGIT客户端 ( http://www.cnblogs.com/Yinner/archive/2011/05/01/2034147.html)

copssh git 在windowXp上搭建git服务器(http://www.360doc.com/content/11/0116/15/38375_86900246.shtml)

看完以上教程,GIT的一套流程,就完整了.呵呵

GitLab是由Ruby语言开发的基于Linux的Git服务器,是我见过的最强大的Git服务器。发现它之后,立即决定将Git服务器换成GitLab。

但安装好GitLab之后面临一个问题,如何将服务器上的git项目直接导入到GitLab,之前的Git服务器是由是git+apache搭建的(详见在Linux上用Apache搭建Git服务器)。

在网上发现了这篇文档——Import bare repositories into your GitLab instance,并按之进行了操作。

1)设置存放代码库的主目录

vi /etc/gitlab/gitlab.rb

比如这里设置为:git_data_dir "/gitlab/repos"

2)访问刚搭建的GitLab站点,创建一个group,比如cnblogs。

这时会在 /gitlab/repos 下创建 /gitlab/repos/repositories/cnblogs 文件夹

然后在/gitlab/repos/repositories/创建一个文件夹,比如cnblogs

3)将现有的所有git项目文件复制到这个文件夹

cp -r /data/git/* /gitlab/repos/repositories/cnblogs

4)修改一下复制过来的文件夹的所有者:

chown -R git:git /gitlab/repos/repositories/cnblogs

5)运行GitLab导入命令

cd /var/opt/gitlab

gitlab-rake gitlab:import:repos

等了一段时间之后,显示done,却一个项目也没导入进来。

经研究发现,在导入时,GitLab只认文件夹名以.git结尾的项目。于是,将要导入的项目文件夹名称加上.git后缀,再次进行导入。

结果显示导入成功,比如:

Processing cnblogs/CNBlogsJob.git

* Created CNBlogsJob (cnblogs/CNBlogsJob.git)

Done!

可以是GitLab站点上却看不到已导入的项目。多次努力,也没能解决这个问题。

后来,实在没办法,改为手动导入,导入方法如下:

1)在GitLab站点上创建与要导入的项目同名的项目。

2)进入刚创建的项目文件夹

cd /gitlab/repos/repositories/cnblogs/项目名称.git

3)删除该文件下的所有文件

rm -rf *

4)将要导入的项目文件夹下的所有文件复制过来

cp -r /data/git/CNBlogsJob/* /gitlab/repos/repositories/cnblogs/CNBlogsJob.git

就这样将项目一个一个地导入进来。

5)导入完成后,修改一下导入的所有项目的文件所有者

chown -R git:git /gitlab/repos/repositories/cnblogs

如果不修改所有者,客户端无法进行git push。

就这样手动地完成了现有Git项目的导入。

备注:操作系统是CentOS 6.2,GitLab版本是7.8.4。

安装msysgit

安装步骤此处略去。

安装CopSSH

安装步骤此处略去。

修改配置

修改CopSSH配置文件C:\Program Files\ICW\etc\sshd_config,确保如下行为非注释行,且设置为“no”:

生成用户帐号

1在服务器上生成Windows用户,取消用户下次登录时须更改密码,设置密码永不过期:

2将该用户隶属于GitUser组(如尚未生成改组,则先生成改组):

激活用户

1在Windows启动程序组中,运行如下程序(C:\Program Files\ICW\bin\ copsshcp.exe):

2进入COPSSH ControlPanel应用对话框,正常情况下服务应该为正在运行(图标为绿色,如为红色,则可尝试点选该按钮,启动该服务):

3选择Users页面:

4点选Add按钮,出现如下导航对话框:

5选择Forward按钮,出现如下页面,选择欲激活的用户对应的域名及用户名:

6选择Forward按钮,进入如下页面,选择Linuxshell and Sftp,所有选项选中:

7选择Forward按钮,进入确认页面,选择Apply:

8回到如下页面,选择Apply后,关闭。

公钥文件上传

1从用户处取得对应帐户的公钥文件authorized_keys,复制到C:\ProgramFiles\ICW\home\ricky\.ssh目录下(\ricky\是对应的用户名);

2Windows启动程序组中运行Start a UnixBASH Shell(或Windows运行中运行命令:"C:\Program Files\ICW\bin\bash.exe" --login -i):

3运行如下unix命令行,如运行未出错,则完毕。

生成Git库容器目录

1在服务器硬盘上生成一个目录,用来容纳Git库,比如生成E:\ GITTestRepo\目录;

2鼠标右键点击该目录,选择共享和安全…;

3在弹出的该目录属性对话框的安全页中加入用户对应的组GitUser;

4确认该用户组权限设置了允许修改、读取和运行、列入文件夹目录、读取、写入,选择确定后完毕。

确认防火墙开放了22端口

确认服务器的防火墙没有禁止22端口的TCP/IP通信。

修改用户登录运行脚本

1修改C:\ProgramFiles\ICW\home\ricky\.bashrc文件(\ricky\是对应的用户名),在文件最后加入如下行:


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/291171.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-24
下一篇2023-04-24

发表评论

登录后才能评论

评论列表(0条)

    保存