Git作为现在比较流行的版本管理工具,其配置非常简单、方便。
下面举一个简单例子,说明如何在服务器上建立一个公共的git代码仓库。
1.确保服务器上已经打开ssh服务,可以用ps -e | grep ssh 检查,如果看到sshd,则说明ssh服务是开放的;
2.访问控制:在服务器上的每一个用户要想访问服务器,都应当建立一对公/私钥,公钥放在服务器上,私钥分发到其他机器上,则其它机器也可以无需密码通过ssh访问服务器。这是git能够协同工作的前提。
注意:linux下,公、私钥存放目录为/home/[user_name]/.ssh,
windows下为C:\Documents and Settings\[user_name]\.ssh
3.建立Git仓库并设置管理权限,如/Git_Repo/my_proj下,为该工程设置一个组group_myproj,将你希望开放权限的用户添加到组中,然后执行命令
chgrp group_myproj /Git_Repo/my_proj/ -R
chmod 770 /Git_Repo/my_proj -R
这样,所有组里的用户都可以读写该git仓库,那么大家都可以做push和fetch操作了。
4.用户A将自己在服务器A_server上的私钥分发到机器A_client后,可以通过命令:
ssh [email protected]_server
来验证私钥是否有效,然后就可以进行git clone操作了。
注意:
如果是windows,会有一个问题,需要在C:\Documents and Settings\user\.gitconfig文件中确保如下一行设置生效:
[core]
filemode = false # doesn‘t care about the file mode
这一行非常关键,否则每次git clone都会造成许多稀奇古怪的问题,windows会自动地转换文件中的换行等符号,导致本地git不能正常的push