git windows服务器配置

本文提供了一步一步详细的指导,帮助您搭建包含Git、CopSSH、TortoiseGit和WinSCP的服务器环境。从软件下载到安装配置,再到服务器和客户端的安装步骤,以及如何进行SSH登录、创建空仓库、克隆仓库、分支创建、文件上传和下载等操作,全部包含其中。同时,文中还提供了优雅解决路径问题的方法,并分享了使用Git进行远程仓库操作的技巧。

软件下载地址:
msysgit 当前版本1.7.3.1:http://code.google.com/p/msysgit/downloads/list
copssh 当前版本4.0.2:http://www.itefix.no/i2/copssh
tortoisegit 当前版本1.6.2.0:http://code.google.com/p/tortoisegit/downloads/list
WinSCP 当前版本4.2.9:http://winscp.net/

在安装之前确保以前安装的残渣都被清干净。
(例如安装后的文件,Openssh SSHD服务,SvcCOPSSH用户,sshd用户,C:git_shell_ext_debug.txt,C:Documents and SettingsSvcCOPSSH 等等)

服务器安装 msysgit 和 copssh
客户端安装 msysgit,tortoisegit可选,WinSCP可选

msysgit安装时选择了”Checkout as-is,commit as-is”
tortoisegit安装时选择了”TortoisePLink”

服务端配置:
a. 在 菜单开始程序CopsshCOPSSH Control PanelStatus 中,确保Service is running
此Service对应着Openssh SSHD服务,有问题的话自己去看看,一般都是修改了密码导致此服务启动失败
控制台下输入 netstat -an,应该看到 0.0.0.0:22

b. 在 菜单开始设置控制面板管理工具计算机管理本地用户和组用户 增加 git000
密码”git000″
用户不能更改密码
密码永不过期
本地路径 D:sourcesvar
(应该去掉“隶属于 Users”,使之权限最小。然后在允许此用户操作的目录上点右键,选择“属性安全”,精确控制此用户对此目录的权限。)

c. 在 菜单开始程序CopsshCOPSSH Control PanelUsersAdd 增加 git000
Access type我选择linux shell and sftp,因为我觉得sftp也是个好东西
(注意,域用户可以加入,但死活都说密码不对,这个bug浪费了我一天时间)
可以打开C:Program FilesICWetcpasswd文件看看,里面有用户和用户对应的目录,比如
git000 对应着 /cygdrive/d/sources/var,以后想修改时可以直接修改此文件

d. 拷贝 C:Program FilesGit 中的 libiconv2.dll git-upload-pack.exe git-upload-archive.exe git-receive-pack.exe git.exe 到 C:Program FilesICWbin 中
(有更优雅的解决方法,但我没试验成功,因此就直接拷贝算了)
(优雅的解决方法:
编辑C:ICWetcprofile文件,
syspath=`/bin/cygpath -S`
winpath=`/bin/cygpath -W`
gitpath1=`/bin/cygpath “C:/Program Files/Git/bin”` #用反斜杠
gitpath2=`/bin/cygpath “C:/Program Files/Git/libexec/git-core”` #用反斜杠
export PATH=”/bin:$syspath:$winpath:$gitpath1::$gitpath2″
在 菜单开始程序CopsshStart a Unix BASH Shell 中输入 echo $PATH 看看路径对不对;
然后再输入git-upload-pack.exe,应该能找到此文件。
但是,git启动时并不去调用profile,所以
编辑C:Program FilesICWhomegit000.bashrc文件,
gitpath1=`/bin/cygpath “C:/Program Files/Git/bin”` #用反斜杠
gitpath2=`/bin/cygpath “C:/Program Files/Git/libexec/git-core”` #用反斜杠
export PATH=”$PATH:$gitpath1:$gitpath2″
但还是屁用没有


e. 在 菜单开始程序CopsshStart a Unix BASH Shell 中输入
cd bin
ssh git000@xp19.tools.net
git000@xp19.tools.net’s password: git000
$ cd ~
$ ls
显示 D:sourcesvar 的内容
$ cd /
$ ls
显示 C:Program FilesICW 的内容
这说明用SSH登陆成功
$ exit
$ exit
(可以看出以这种方式登录时,根目录是C:Program FilesICW,工作目录是D:sourcesvar)

f. 到D:sources中建立了一个abc目录,在abc目录中又建了一个a文件
在abc目录内点右键,选择Git Bash,输入
git –bare init
这样就在服务器上建立了一个空仓
在D:sourcesabc上点右键,选择“属性安全”,加入git000用户,精确控制此用户对此目录的操作权限……
(客户端用git登录时,根目录将认为是d:,工作目录是D:sourcesvar)

客户端操作:
a. 在F盘中创建test目录,点右键,选择 Git Bash,然后输入
$ git clone -v git000@xp19.tools.net:/abc abc
失败
$ git clone -v file://git000@xp19.toold.net:/abc abc
失败,竟然将C:/Program Files/Git/作为根目录

b. 安装tortoisegit,在F盘中创建test目录,点右键,选择 Git Clone,然后输入
ssh://xp19.tools.net/sources/abc,按确定,输入用户git000,输入用户git000
成功
在abc上创建Branch,名为123(右键,TortoiseGitCreate Branch)
成功(看起来像没有任何反应,但相应的菜单有了。右键,选择Git Branch,就能看到)
修改f:testabca文件,在f:testabc上点右键,选择Git Commit->”master”
成功
右键,选择TortoiseGitPush
成功
换个地方重新下载,a文件是修改后的内容,说明刚才的Push操作是成功的

c. TortoiseGit的设置
设置TortoiseGitSettingsGeneralMSysGit中设置Git.exe所在路径,假如你更改了git的安装位置,就需要修改此处
TortoiseGitSettingsGitConfig中设置用户信息,提交时必须设置

d. 如果你还想使用 sftp
安装WinSCP后,打开WinSCP,主机名输入 xp19.tools.net,用户名 git000,密码 git000,然后点击登录

其它:
procexp.exe和Procmon.exe是两个免费工具,可以从M$网站上下载到。
当删除某个文件时总是报此文件正在被使用,打开procexp.exe,菜单:FindFind handle or dll,然后输入文件名,点search后就可以看出到底是谁在使用这此文件。
当用git下载文件时总是失败,在服务器上打开Procmon.exe,监控一下git-upload-pack.exe到底在哪儿找文件。
附上git的关系图:


### 在Windows系统上配置和搭建Git服务器 #### 安装Git 为了在Windows系统上搭建Git服务器,第一步是安装Git工具。可以从官方网址 (https://git-scm.com/) 下载适用于Windows系统的最新版本的Git安装程序[^2]。完成下载后,运行该安装包并遵循默认设置逐步完成安装。 #### 创建仓库文件夹 创建一个新的文件夹用于存储Git项目的仓库数据。例如,在命令提示符中执行以下操作来创建名为`wehcat`的仓库: ```bash cd git_products mkdir wehcat cd wehcat ``` 接着初始化这个新目录为一个Git仓库: ```bash git init ``` 如果已有项目文件,则将其复制到此目录;如果是新建项目,则可省略这一步骤[^3]。 #### 添加与提交初始代码 对于已有的项目文件,需将它们加入到Git跟踪列表,并通过如下命令进行首次提交: ```bash git add . git commit -m "Initial project setup" ``` 这些指令会把当前工作区中的所有更改标记为待处理状态(`add`)并将之记录至历史日志(`commit`)[^3]。 #### 使用CopSSH增强安全性(可选) 为了提高远程访问的安全性和便利性,可以选择集成CopSSH服务端软件。它提供了基于SSH协议的支持功能,使得开发者能够安全地连接到中央Git库而无需暴露裸露HTTP接口给外部网络环境[^1]^。 #### 配置GitBlit管理界面(推荐方案之一) 另一种更高级别的方法涉及部署专门设计用来管理和监控分布式版本控制系统活动的应用——比如GitBlit。其优势在于提供了一个直观易懂的Web UI供管理员维护多个用户权限以及分支策略等方面的内容控制。调整相关参数通常位于安装路径下的`.properties`文件里,如遇到特定需求定制化选项时,请参照文档指引修改对应字段值[^4]。 #### 测试连接 最后一步就是验证整个流程是否成功实施完毕。可以通过克隆测试的方式确认远端主机上的资源能否正常拉取下来。假设本地机器已经设置了无密码登录机制的话,那么只需简单输入类似下面这样的语句即可实现同步动作: ```bash git clone ssh://username@server_address:/path/to/repo.git local_directory_name ``` 以上就是在Windows平台上构建属于自己的私有Git服务平台所需经历的主要环节概述。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值