(参考:http://blog.csdn.net/liuyuyefz/article/details/17025709)
SSH开启
在osx中开启ssh访问非常简单,只需要打开“系统偏好设置”并且点击“共享”图标即可。
选中下图中的Remote Login即允许远程登陆。server处于下图的这个状态时,处于两个选择,可以远程登陆到所有用户,也可以远程登陆到指定用户。
创建新的git用户,只需返回到“系统偏好设置”并点击“用户与群组”图标即可。
如下图所示,点击列表下方的增加,并填写新用户的detail。
然后如下图所示仅仅允许可以远程到git用户
搭建服务器
首先在服务端上
第一:新建一个仓库
1、cd /Users/userName/projects
用linux命令进入一个你想要创建与他人共享的文件夹。
2、sudo git --bare init
建立一个git仓库.
”git init –bare”方法创建一个所谓的裸仓库,之所以叫裸仓库是因为这个仓库只保存git历史提交的版本信息,而不允许用户在上面进行各种git操作,如果你硬要操作的话,只会得到下面的错误(”This operation must be run in a work tree”)
3、给这个git仓库所在文件夹递归赋予权限
cd .. && sudo chmod -R 777 projects
4, 由于git默认是不让其它人push到本地仓库的。所以你要赋予允许别人push的权限
步骤如下
(1)cd /Users/userName/projects
进入本地仓库下
(2)sudo vim .git/config
如果你用git init建立的仓库
sudo vim config
如果你用git init --bare建立的仓库
用vim打开git的配置文件。
这边插入一个小教程关于vim的。vim是一个强大的编辑器用一些快捷的方法会很快完成你给它的任务
在客户端上
1、cd gitTest
进入要存放git文件的仓库。
2、sudo git clone name@192.168.x.xx:/path/server_project_name /path/local_project_name
sudo:为以管理员权限运行。
git clone:从远程把一个git仓库拷贝过来。
name@192.168.x.xx: name为服务端用户的名字然后+@+服务端的ip地址
:server_project_name local_project_name :服务端git文件所在的路径 和本地git仓库路径与名字
3、cd local_project_name
(刚才你起的git本地git仓库名字)
进入你的git所在文件。
4、可以试着添加一些东西到git仓库里。这里添加了test1,test2两个相同文件
客户端机器对服务器git代码仓库的写权限问题
//进入代码仓库
cd repository.git
//改变代码仓库下,所有文件的访问权限,同组可写
sudo chmod -R g+ws *
sudo chown -R "${USER:-$(id -un)}" .