【问题标题】:Cloning a repo from my home directory从我的主目录克隆一个 repo
【发布时间】:2012-04-15 12:45:05
【问题描述】:

我最近 git 化了一个 web 项目。 Following this guide,我在我的主目录/home/mt33 中设置了一个裸仓库,它充当位于www/ 中的克隆的中心。然后我将裸仓库(没有工作树)克隆到我的本地机器上,进行更改、提交,然后push origin master 将它们发送到服务器。然后,裸仓库上的更新后脚本将 cd 转移到 www/ 克隆,并提取所有更改。这一切都很好。

我想添加第二个开发人员,但他无法从位于我的主目录中的裸仓库中克隆。所以我要求系统管理员将组读取、组写入和组执行权限添加到我的主目录,并将第二个开发人员添加到我的组中。因此,他确认他可以通过 SSH 连接到服务器并将cd 进入主目录,以及查看repo.git 目录的内容。这是他所看到的:

drwxrwxr-x 7 mt33 mt33 4096 2012-03-07 19:10 repo.git

当他尝试使用克隆时

git clone theseconddev@theserver:/home/mt33/repo.git my_directory他得到错误

fatal: '/home/mt33/repo.git' does not appear to be a git repository fatal: The remote end hung up unexpectedly

此时我不知道该怎么办...我的主目录中的裸仓库有问题吗?任何指针表示赞赏...

【问题讨论】:

    标签: git unix permissions git-clone


    【解决方案1】:

    您可能还需要为/home/mt33/repo.git/home/mt33/repo.git 内的文件添加这些权限。

    chmod -R g+rwx /home/mt33/repo.git
    

    (还要确保在config 文件中设置sharedRepository=true,以便将来正确保留权限。)

    【讨论】:

    • 太棒了。没想到。干杯!
    【解决方案2】:

    尝试从 www 位置克隆您的第二个开发人员。如果可行(不要让他/她推动 :-),那么您可以使用其他工作流程(作为实际问题的解决方法),并且您可能会了解一些有关 ssh/git 设置的知识。

    【讨论】:

      猜你喜欢
      • 2021-04-11
      • 1970-01-01
      • 1970-01-01
      • 2012-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-02
      相关资源
      最近更新 更多