在windows下架构git服务器及其应用+83.docx

上传人:b****5 文档编号:6694769 上传时间:2023-01-09 格式:DOCX 页数:42 大小:6.07MB
下载 相关 举报
在windows下架构git服务器及其应用+83.docx_第1页
第1页 / 共42页
在windows下架构git服务器及其应用+83.docx_第2页
第2页 / 共42页
在windows下架构git服务器及其应用+83.docx_第3页
第3页 / 共42页
在windows下架构git服务器及其应用+83.docx_第4页
第4页 / 共42页
在windows下架构git服务器及其应用+83.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

在windows下架构git服务器及其应用+83.docx

《在windows下架构git服务器及其应用+83.docx》由会员分享,可在线阅读,更多相关《在windows下架构git服务器及其应用+83.docx(42页珍藏版)》请在冰豆网上搜索。

在windows下架构git服务器及其应用+83.docx

在windows下架构git服务器及其应用+83

在windows下架构git服务器及其应用

Gitosis是一个使用SSH管理Git仓库的服务端工具,该软件用来添加用户和设定权限的界面不是网页,而是一个特殊的Git仓库。

你只需要设定好某个项目,然后推送,Gitosis就会随之改变服务器设定!

在Windows下的安装则花了我不少功夫,有时候碰到问题无从入手,所以以下将整个安装过程详细记录下来,给以后的需要者参考。

总体分为如下几大步骤:

第一步:

安装Git

简单来说Git是一个免费的、开源的版本控制软件,从功能上讲,跟Subversion(SVN)这类版本控制软件没什么两样。

由于工作的需求,需要在WinXP下安装git配合团队完成相应的工作,以前一直在别的系统下使用,今天经Drupal花园的龙马指点终于安装成功了,特意贴出来与有需要的童鞋一起分享。

获取Git软件:

大家可以通过两种方式获取Git的软件,一个是在官网上获取,另一个可以点击这里下载。

只是有一点需要说明就是需要下载支持WinXp系统的版本。

Git在WinXP安装过程

在WinXP下安装Git详细步骤参考如下安装示意图:

点击上图的“Finish”后Git的安装就完成了,安装完成后需要在进行一下环境变量的设置,改变环境变量的具体步骤可以参考下图:

右键点击我的电脑:

生成ssh公钥

双击桌面上的git运行程序:

启动git的运行程序:

在程序中依次输入:

1、配置全局的name和email,命令如下:

$gitconfig--globaluser.name"yourname"$gitconfig--globaluser.email"your@email.address"

其中"yourname"换成你的名字,""换成你的邮箱地址。

2、生成公钥,用于身份认证:

ssh-keygen.exe-C"your@email.address"-trsa

这样就可以在你的用户下取得需要的公钥匙,公钥位于你的电脑中“C:

\DocumentsandSettings\Airen\.ssh”的“id_rsa.pub”文件下:

你使用文本编辑器打开“id_rsa.pub”就可以看到公钥的内容:

ssh-rsaAAAAB3NzaC1yc2EAAAABIwAAAQEAs1c3zL3IbjhMbSCwooZ7WHlkga7xq+5inQUCTqmZ7xqBclvEwofDd4BYts99X+xfNXgGSlil85wrOfXX9ZH27ZmPR3Z8KWp3pekFOvk7iLmt0b9lZqhgpUll76Q7D2KED8se9gV4FNxg05ZK6AUZm70cBj9sZqjV//weE7ufkibcqd3ngHsTKB+0Js8NcMwldHmxIxZEwufxgT/D4EGQCA6ijjuj9ILIydzzLwWzKoH1wuGDU5LAE1qptIpAt50uWxPNlsBPoqZnbJjHg+As9If6tRkG4YzkwzSBTP725bJDcWkArhWRRkJ2cwUgcJYRyCY+8jI2oxDawYjWQ+w9HQ==airenliao@

此时只要把你的公钥放进你项目的服务中就可以进行git的相关操作。

关于git的命令更多操作,可以到官网查阅,或点击这里查看更多的命令操作。

顺便列出解决中文目录支持问题:

1、ls不能显示中文目录

解决办法:

在git/etc/git-completion.bash中增加一行:

aliasls='ls--show-control-chars--color=auto'

2、gitcommit不能提交中文注释

解决办法:

修改git/etc/inputrc中对应的行:

setoutput-metaonsetconvert-metaoff

3、gitlog无法显示中文注释

解决办法:

在git/etc/profile中增加一行:

exportLESSCHARSET=iso8859

到这时有关于git在winxp下安装就介绍完了,希望这个能给一些朋友带来一定的帮助。

同时更希望朋友们关注W3CPLUS,因为只有你们的关注才能带来我的成长。

原文地址:

第二步安装Python2.6

直接在官网http:

//www.python.org/上,选择“Download”可以下载适合于不同系统的python

当前下载python2.6.2的版本,即可。

然后下载第三项,python2.6.2windowsinstaller,打开python2.6.2的安装程序开始安装:

一路Next下去就可以了,最后点击安装完成即可。

注:

默认路径会是C:

\Python26路径一般不要改

第三步安装Cygwin

cygwin是一个在windows平台上运行的unix模拟环境,是cygnussolutions公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos,不过现已被Redhat收购)。

它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。

随着嵌入式系统开发在国内日渐流行,越来越多的开发者对cygwin产生了兴趣。

一)下载安装Cygwin

1)到Cygwin的在线安装程序setup.exe。

2)以管理员身份运行setup.exe开始安装Cygwin

3)Cygwin安装过程截图

点击下一步继续

选择“InstallfromInternet”

设置Cygwin的安装路径RootDirectory,选择“AllUsers(RECOMMENDED)”

设置Cygwin在线下载的数据包的保存路径LocalPackageDirectory

选择“DirectConnection”

选择下载文件的镜像地址后点击下一步(选择不同的地址会影响下载速度)

开始下载相关数据包

如果是首次安装Cygwin,将会弹出如下界面,点击确定继续即可

选择默认并没有包含的相应包,点击将Default变为Install包括:

∙devel分类下的git

∙net分类下的openssh

∙Python分类下的python(这里顺便记录一下python的版本号,后面会用到,如2.6

∙Editors|vim(可以编辑修改文件参数)

点击下一步继续

到了漫长的下载等待界面了

下载完之后将自动安装,点击完成后Cygwin就安装完毕了。

二)修改安装后相关目录的访问权限

进入“开始/所有程序/Cygwin/CygwinBashShell”,右键以管理员身份运行“CygwinBashShell”,在命令行中分别运行如下命令:

$chmod+r/etc/passwd

$chmodu+w/etc/passwd

$chmod+r/etc/group

$chmodu+w/etc/group

运行的截图如下:

三)安装ssh守护进程服务

继续执行如下命令:

$ssh-host-config

根据命令的提示分别回答:

yes、yes、yes、ntsectty、no、yes、[密码]、[重复密码],参考如下截图:

至此ssh服务安装完毕!

打开Windows的命令行,运行“>netstartsshd”启动ssh服务(也可以到Windows服务中启动)。

4)在Windows防火墙内开放上述ssh服务需要的22端口

打开“控制面板”,选择“系统和安全”选项

选择“Windows防火墙”

选择“高级设置”

选择“新建规则”

添加新的入站规则:

名称可以随意命名,点击完成即可。

五)安装pythonsetuptools

先设置python路径的访问权限,保证所有用户都可以访问:

$chmod+r/lib/python2.6/-R

2.6是所安装python的版本号,要对上你安装的版本号才行,我装的时候是2.6,如果忘记了,可以在Cygwin的命令终端输入“$python-v”查看一下。

到PythonPackageIndex主页下载对应版本的pythonsetuptools,如2.6版对应要下载setuptools-0.6c11-py2.6.egg。

将setuptools-0.6c11-py2.6.egg复制到/home/your_user_name目录下(也可以按自己的需要复制到其它地方,注意下面的运行路径正确即可),然后在该目录的Cygwin终端下运行如下命令安装:

$./setuptools-0.6c11-py2.6.egg

看到输出类似如下的信息就表示安装成功了:

Processingsetuptools-0.6c11-py2.6.egg

Copyingsetuptools-0.6c11-py2.6.eggto/usr/lib/python2.6/site-packages

Addingsetuptools0.6c11toeasy-install.pthfile

Installingeasy_installscriptto/usr/bin

Installingeasy_install-2.6scriptto/usr/bin

Installed/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg

Processingdependenciesforsetuptools==0.6c11

Finishedprocessingdependenciesforsetuptools==0.6c11

六)允许SSH客户端访问

1)新建一个用户git

创建一个名为git的用户,设置密码,并确保密码不会过期。

打开“控制面板”,选择用“户账户与家庭安全”中的“添加或删除用户账户”

在“新账户名”处写上“git”,选择“标准用户(S)”,之后点击创建用户即可。

创建结果如下:

2)在CygwinBash中,执行命令:

mkpasswd-l-ugit>>/etc/passwd

再使用你喜欢的任何方式查看一下passwd文件(文件的最后那一行),确认git帐号已经添加进去。

七)验证下SSH登录

1)打开CygwinBash(10.0.2.15为服务器的地址,也可以是服务器的域名)

shgit@10.0.2.15Administrator@china-fe1bdcde5~

$sshgit@10.0.2.15

Theauthenticityofhost'10.0.2.15(10.0.2.15)'can'tbeestablished.

ECDSAkeyfingerprintis5d:

a6:

81:

98:

43:

fa:

5a:

f6:

df:

ba:

18:

b9:

a0:

76:

87:

f8.

Areyousureyouwanttocontinueconnecting(yes/no)?

yes

Warning:

Permanentlyadded'10.0.2.15'(ECDSA)tothelistofknownhosts.

git@10.0.2.15'spassword:

Couldnotchdirtohomedirectory/home/git:

Nosuchfileordirectory

Copyingskeletonfiles.

Thesefilesarefortheuserstopersonalisetheircygwinexperience.

Theywillneverbeoverwrittennorautomaticallyupdated.

`./.bashrc'->`/home/git//.bashrc'

`./.bash_profile'->`/home/git//.bash_profile'

`./.inputrc'->`/home/git//.inputrc'

`./.profile'->`/home/git//.profile'

git@china-fe1bdcde5~

$

以git用户登录成功

八)创建SSH密钥,使能够通过SSHidentity以git用户登录SSH服务器

1打开CygwinBash

2$ssh-keygen-trsa(所有输入都为空,即使用默认配置,密码为空)

$ssh-keygen-trsa

Generatingpublic/privatersakeypair.

Enterfileinwhichtosavethekey(/home/Administrator/.ssh/id_rsa):

Enterpassphrase(emptyfornopassphrase):

Entersamepassphraseagain:

Youridentificationhasbeensavedin/home/Administrator/.ssh/id_rsa.

Yourpublickeyhasbeensavedin/home/Administrator/.ssh/id_rsa.pub.

Thekeyfingerprintis:

6a:

02:

9f:

42:

99:

7c:

fe:

52:

e7:

a9:

fe:

1b:

15:

1e:

70:

31Administrator@china-fe1bdcde5

Thekey'srandomartimageis:

+--[RSA2048]----+

|.E.|

|o.|

|o|

|.o.o|

|*.So|

|.=.....|

|.=.oo..|

|..+o.|

|o+oo.|

+-----------------+

3$ssh-copy-idgit@10.0.2.15(输入git用户密码)

$ssh-copy-idgit@10.0.2.15

git@10.0.2.15'spassword:

Nowtryloggingintothemachine,with"ssh'git@10.0.2.15'",andcheckin:

~/.ssh/authorized_keys

tomakesurewehaven'taddedextrakeysthatyouweren'texpecting.

如果第3不执行不了,就执行如下方法:

拷贝你的公钥文件到目录“/tmp/id_rsa.pub”,再在终端运行“$chmod755/tmp/id_rsa.pub”修改文件的权限,如果你还没有相应的公钥,就自己生成一个,参考GitHubGuide上的“SetUpSSHKeys”指引或参考基于互联网的Git开发环境搭建(Windows系统)中第3点“生成Git要使用的sshkey”的相关指引。

4验证下,以git用户登录:

sshgit@10.0.2.15

$sshgit@10.0.2.15

Lastlogin:

SatJun1123:

06:

142011fromchina-fe1bdcde5

git@china-fe1bdcde5~

$

5不需要输入密码,即登录成功

6如果登录时出现如下错误:

“CYGWIN=ttyisnolongersupports。

……”等问题是执行第7步。

7找到Cygwin.bat,然后单击右键选择“编辑”

打开之后可以见

将setCYGWIN=tty修改为setCYGWIN=nodosfilewarning,修改后结果如下:

如果不能修改文件,则执行第8步。

8选中Cygwin.bat,单击右键,选择“属性”。

在输入要选择的对象名称(例如)(E)的空白处填写你的当前用户名称。

“权限”选择完全控制。

然后重新打开文件执行第7步。

九)安装配置Gitosis

1)运行如下命令将Gitosis管理端的git仓库下载下来:

$mkdirsources

$cdsources

$gitclonegit:

//

gitclone

2)下载成功后再运行如下命令进行初始化:

$cdgitosis

$pythonsetup.pyinstall

这将会输出一大堆的信息,如果没有出现问题,最后那一行输出的信息类似于“Finishedprocessingdependenciesforgitosis==0.2”。

3)以git用户打开一个新的Cygwin终端(如下图所示,位置在开始/所有程序/Cygwin)

在该终端内运行如下命令初始化公钥的配置:

$gitosis-init

如果你运气好的话,成功后你将会看到如下信息:

如果出现错误,参考下面第4步的处理

4)如果第3步出现类似如下错误信息:

0[main]python4268D:

\cygwin\bin\python.exe:

***fatalerror-unabletoremap\\?

\D:

\cygwin\lib\python2.6\lib-dynload\select.dlltosameaddressasparent:

0x3E0000!

=0x410000

按如下说明处理:

关闭所有当前打开的所有Cygwin终端窗口,停止sshd服务,然后打开Windows的CMD命令行窗口,切换到cygwin/bin目录,运行ash命令,会出现$命令行,继续输入“$/bin/rebaseall”,如果没有任何错误信息就OK了,参考如下截图:

错误处理完毕后,重新启动sshd服务,再按上面第3步重新操作一遍即可。

5)切换回以管理员身份打开的那个Cygwin终端窗口(如果因第4步已经关闭则重新打开一个),运行如下命令

$chmod755/home/git/repositories/gitosis-admin.git/hooks/post-update

至此Gitosis成功安装完毕!

10)使用Gitosis

第一种方式:

命令窗口

1)将Gitosis管理端的git仓库检出来,位置随意

$gitclonegit@your-server-name:

gitosis-admin.git

以下尝试创建一个test仓库,并配置访问权限。

2)进入刚刚检出的目录gitosis-admin,编辑gitosis.conf文件,增加如下信息:

[grouptest]

writable=test

members=your_email_from_ssh_key

保存,并提交、push到gitosis-admin.git仓库。

3)在你喜欢的地方创建一个空目录test,里面放个readme.txt文件,然后打开GitBash终端,进入到test目录内运行如下命令,test.git仓库就会在服务端自动创建了(注意经过第2步后是不能直接"$gitclone"出来的,会报错,必须自己有个非空的git仓库然后push上去才行)。

$gitadd.

$gitinit

$gitcommit-minit

$gitremoteaddorigingit@your-server:

test.git

$gitpushoriginmaster

现在你到“cygwin\home\git\repositories”目录下看看,test.git仓库已经稳放在那里了!

test仓库只是一个原理演示,任何其他的git仓库操作是类似的。

参考资料:

SettingupGitosisonWindows7

python.exe:

***fatalerror-unabletoremap

Git服务器软件gitosis的改进

ProGit:

服务器上的Git权限管理器Gitosis

Gitosis自身的Readme

还有个git仓库管理工具叫gitolite,用perl写的,听说可以控制到分支的权限等更多功能,有兴趣的可以参考一下下面的链接:

Gitolite构建Git服务器

碰到的错误记录:

1)2011-05-27启动sshd服务报错"错误1069:

由于登录失败而无法启动服务"

这是由于用户密码错误导致的,以后更改用户后sshd也可能发生这个问题,在services.msc里的登录标签里更改用户设置即可!

我刚好是碰到帐号cyg_server处于"用户下次登录时须更改密码"状态,修改为"密码永不过期"后sshd就启动正常了。

第二种方式图形化界面。

1)以管理员身份运行gitBash。

2)在gitBash中输入命令gitgui打开图形化界面窗口或者直接打开GitGUI也可以。

选择创建新的版本库,在系统中放一个位置就可以了开始工作了。

3)将程序放在刚刚建立的本地版本库中,如果程序有修改,选择“重新扫描”就可以将改动的程序扫描出来,然后在提交描述的窗口上写上修改的原因,为了区别是谁修改的,改动之后“签名(SignOff)”。

然后点击“缓存改动”,最后进行提交。

此时提交的是本地的版本库中,如果要提交到服务器上就选择“远端->Add”

在名字处写上服务器的名字,Location处写上服务器的地址。

然后选择上传

显示结果如下表示上传成功:

打开“版本库->图示所有的分支历史”

上传显示结果:

如果在GitGUI里面中文显示的是乱码,就做如下修改:

修改完之后,就可以正确显示中文了。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 节日庆典

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1