声明:本文的目的是提供一个在
windowsXP
下安装使用
git
的简明教程,虽然关于
git
在
Window
下如何使用的文章很多,但是作者根据那些文章做实验发现,其中有些内容对于初学者比较晦涩,导致没有接触过的人不能做好实验,误导初学者,或者给初学者带来反面的信息,打击积极性。作者在花费了
3
个晚上之后终于把
git
的安装搞定,在此做一些记录,与大家分享。
安装
git
的环境:这一部分主要从网络上获取,但是经过一些加工或修改。需要安装两个工具:
1 - Git
,
Windows
下的
Git
,还是
msys-git
比较好。
2 - SSH
,可以用
CopSSH
,可以在
Windows
上启动
SSH
服务
,
而不仅是客户端。如果不知道网址,搜索一下。
安装这两个工具的过程没有什么难度。这里假定
Git
是安装在
C:\Git
目录下,
CopSSH
安装在
C:\ICW
目录下。安装过程中添加
git
用户,密码也是
git
。默认安装的
git
可能不好用,需要从
ssh
菜单
->
已经激活账户中删除
git
,同时在电脑的本地用户和组中删除
git
用户,再重新建立
git
本地用户,授予
administrator
权限,在
ssh
的菜单中激活
git
用户。
git
已经可以从远程
ssh
登陆。如果在命令行中输入
ssh
没有发现命令,需要在系统的
Path
中添加
C:\ICW\bin
目录和
C:\Git\bin
目录,输入
ssh [email protected]
输入密码后如果能打开远程,则说明
git
用户
ssh
登陆成功。
git
用户通过
ssh
登录以后,可以执行
ls
,
cd
等基本命令。但是
git
仍然然不能运行。所以,也就还不能通过这个
ssh
来发布
git
版本库了。要实现这个,需要做一些设置。
首先、需要在
Git
的安装目录里找到
cmd
目录,这里就是
C:\Git\cmd
了。在里面创建如下几个文件:
git, git-upload-pack, git-upload-archive, git-receive-pack
。这里都没有扩展名的,主要是给登录后,由
bash
执行的。每个文件都只有一行,分别是:
git
里写
git.cmd $*
git-upload-pack
里写
git upload-pack $*
git-upload-archive
里写
git upload-archive $*
git-receive-pack
里写
git receive-pack $*
然后,就要给登录后的用户添加
path
了,保证上面添加的命令可以找到,并执行。找到
CopSSH
安装目录的
etc
下的
profile
文件。这里就是
C:\ICW\etc\profile
了:在文件最后添加两行
gitpath=`/bin/cygpath C:/Git/cmd` #
这里不是引号,路径是
Git
下的
cmd
,斜杠也要用
Unix
的习惯
export PATH="$PATH:$gitpath"
然后,用
git
用户重新从
SSH
登录。就可以使用
git
命令了。
如果
git
命令提示找不到
git-upload-pack
,则需要配置
C:\ICW\home\git
下的
.bashrc,
在该文件的末尾添加刚才的命令
gitpath=`/bin/cygpath C:/Git/cmd`
export PATH="$PATH:$gitpath"
这样基本上就可以使用了。为什么使用
git
命令时未加载
C:\ICW\etc\profile
,具体原因尚不清楚,但是
.bashrc
会被加载。
启动命令行,在
C:\ICW\var
目录下依次执行以下命令:
mkdir testgit
cd testgit
git init
touch a b c
git add .
git commit -m "init"
然后,就可以在远程
clone
这个库了。进入
D
盘执行
则发现可以进行输出了,路径是相对于
git
登陆后的根目录
C:\ICW\home\git
clone
出第二个版本库,分别在这两个库中执行操作。如果此时提交修改,则
git
并不知道是谁提交的,需要告诉
git
你是谁,在
git
用户的根目录
C:\ICW\home\git
中添加
.gitconfig
文件(
window
文件名不支持
.
开头,创建一个文件,通过
ren
命名重命名)输入
[user]
name = git
在
anotherUser
用户的根目录
C:\ICW\home\anotherUser
输入
[user]
name = anotherUser
打开命令行,进入到
testgitA
中设置用户属性:
set home=C:\ICW\home\git
,对所做的内容进行提交,最后调用
git push
命令把修改的内容永久的存放到中心版本库中,对
anotherUser
用户的目录
testGitB
需要同样的操作:
set home=C:\ICW\home\anotherUser
,这样提交的内容就被
git
区分出是谁提交的了。这样基本环境就搭建好了,可以进行进一步的实验了。关于
git
的命令请参考手册或者到网上搜索。兴奋的
git
探索之旅可以开始了, 祝 君好运。