OS X下搭建Git服务器建议教程

本文详细介绍如何在MacOS环境下搭建Git服务器,包括创建新账户、安装Gitosis、生成SSH密钥及配置权限等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:搭建git服务器前请先学会git的主要的命令,以及对ssh的理解。

服务端搭建
1. 首先创建一个新账户(如果打算将当前账户作为服务器账户的话可以不新建):
系统偏好设置 -> 用户与群组,添加一个新账户,账户名就叫git,作为服务器的账户,普通权限即可。





2. 切换到刚刚新建的服务器账户mygit, 下载gitosis终端执行命令:
  1. git clone git://github.com/res0nat0r/gitosis.git  
  1. cd gitosis  
  2. python setup.py install

用python脚本安装setup.py
成功安装后最后一行会有如下提示:
Finished processing dependencies for gitosis==0.2 

3. 切换客户端创建公钥
ssh小知识:只有将自己的公钥提供给服务器账户,才能获得服务器远程登录的权限。
同一台机子上执行以下命令来切换到客户端账户
  1. su Jone  

4. 生成公钥命令:
  1. ssh-keygen -t rsa  

一路回车即可
生成.ssh文件,通过ls查看当前目录,咦?怎么木有?
别急因为.ssh是隐藏文件,通过ls -la 命令就可以查看所有隐藏的文件了
cd进入.ssh文件
将id.rsa.pub复制到服务器账户的临时目录tmp命令(bash):
cp id_rsa.pub /tmp/Jone.pub 
拷贝时修改名字
exit退出当前账户

5. 回到服务器账户,同一台机器终端执行命令:
sudo -H -u git gitosis-init < /tmp/JoneMacPro.local.pub 
替换以刚刚复制到服务器/tmp的公钥—(注意设置公钥名字跟你的Mac账户名称相同便于区分)如下图所示:

  1. Initialized empty Git repository in /Users/git/repositories/gitosis-admin.git/  
  2. Reinitialized existing Git repository in /Users/git/repositories/gitosis-admin.git/ 

初始化成功后会有以上提示

6.这时服务器账户下就会将该客户端认证为可信任的,在git的home目录下会有记录,执行如下命令

  1. cd ~  (回到根目录)
  2. cd .ssh  
  3. ls

可查看到authorized_keys文件

7.修改post-update的权限,便于客户端提交
  1. sudo chmod 755 /Users/git/repositories//gitosis-admin.git/hooks/post-update  


8.最后修改服务器账号mygit账户的PATH路径如下四条命令:
  1. touch ~/.bashrc  
  2. echo PATH=/usr/local/bin:/usr/local/git/bin:\$PATH > .bashrc  
  3. echo export PATH >> .bashrc  
  4. cat .bashrc  

执行前三步命令,悄无声息,恭喜你。那是好事!执行之后一行命令出现以下两行代表修改完成

  1. PATH=/usr/local/bin:/usr/local/git/bin:$PATH  
  2. export PATH  

大功告成!git服务器搭建完成!

客户端测试

1. 进入客户端账户,使用如下命令测试是否连通服务器


  1. ssh git@192.168.1.102  

192.168.1.102此乃你的服务端账户mygit的IP地址,可以通过 系统设置 ->共享 -> 远程登录来查看

2. 从服务端复制资源到本地,在客户端执行如下命令
git clone git@192.168.1.101:repositories/gitosis-admin.git 

如果这个步骤出错
bash: gitosis-serve: command not found
使用命令 which gitosis-serve找到文件夹路径将该文件放到git账户的.ssh文件夹下

3.克隆成功之后哦进入gitosis-admin目录
进入文件夹打开gitosis.conf文件

  1. [gitosis]  
  2.   
  3. [group gitosis-admin]  
  4. members = boy15174  
  5. writable = gitosis-admin

members是此仓库的成员,只有成员才有读写权限,这是你的账户名
  1. members = JoneMacPro.local Ben 


writable代表仓库的名称
以后修改都可以直接在本地进行编辑,然后push到服务器
提示:gitosis-admin 文件是仓库里面的特殊文件,就像是其他文件的管理员,并且任然可以克隆到本地。

4. 现在我们创建一个普通test文件,如图
  1. [group test]  
  2. members = boy15174  
  3. writable = test  

然后保存退出
执行git push命令上传

5. 切换到服务器账户,终端进入repositories目录,然后执行:

  1. mkdir test.git  
  2. cd test.git  
  3. git --bare init  
创建一个test.git目录,进入目录初始化一个git的镜像目录。

6.切换客户端通过命令:
git clone git@192.168.1.101:repositories/test.git

如果把test文件成功的clone到本地,那就代表测试成功了。现在可以在客户端操起git锋利的命令刀尽情的挥舞吧!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值