【问题标题】:How to make cloned repo shared?如何使克隆的 repo 共享?
【发布时间】:2011-09-08 14:53:43
【问题描述】:

我怎样才能让我克隆的 repo 被其他人通过 ssh 克隆,以便我的团队成员可以推送更改,同时我可以从源中提取更改。

master repo (other site) clone via git --> my repo 由我的队友克隆

--> 只拉动

拉和推

【问题讨论】:

    标签: git


    【解决方案1】:

    不可能将更改推送到具有已签出工作副本的存储库中。 (但是,您可以到带有相关工作副本的存储库中)因此,首先要做的是使用git clone --bare 创建一个裸克隆。

    您和您的团队成员必须能够访问此克隆,8 ways to share your git repository 是所有可能的方法的一个很好的概述。

    请注意:

    • 如果您在自己的计算机上有此克隆,则必须对此存储库进行“正常”克隆以创建自己的工作副本,您不能直接在裸存储库中工作(根据定义)。
    • 由于您现在有两个要管理的 git 存储库(裸克隆和您的工作副本),所以要让所有内容保持同步需要做更多的工作。如果您可以从团队成员那里获取所有内容而不是让他们推给您,那么您可以只使用正常的工作副本,或者少得多的开销。

    这就是它的样子:

    (other site) --> (bare clone) <--> (your working clone)
                                  <--> (your team mates)
    

    只有拉,它稍微简单一些:

    (other site) --> (your working clone) <-- (your team mates)
    

    push-pull 设置确实有一个清晰明了的主人。

    【讨论】:

    • 非常感谢将检查 8 方式。喜欢这个,1. 创建裸克隆 repo 2. 所有团队成员(包括所有者)克隆 3. 成员可以推送和拉取 4. 所有者可以推送到裸克隆及其源。
    【解决方案2】:

    这取决于你如何访问 repo,你可以使用 ssh、git、http 或简单的文件共享。

    我使用文件共享 (Windows),因为所有开发人员都在一个网络中。因此,一旦您克隆了存储库并共享存储库文件夹。其他开发人员可以:

    git remote add some_name //you_ip_address/name_of_repo.git
    git fetch some_name 
    

    如果其他开发者没有这样的仓库,他可以先从你那里克隆

    git clone //you_ip_address/name_of_repo.git
    

    【讨论】:

    • 可能我需要重新表述我的问题。我们有两个团队一起工作,我已经通过 git 协议克隆了他们的仓库(只读访问)。我希望这个 repo 充当我的团队的主人,通过 ssh 克隆并将更改推回给我。同时,我将从其他团队中提取更改。
    • 我认为这没有任何问题。只需向团队的其他成员提供对您的 repo 的访问权限,这样他们就可以克隆它。
    • 真的,谢谢,抱歉转储问题:)。我将如何访问它们?我需要像--shared=group init 命令。
    • 正如我所说,我在 Windows 上这样做,所以我可以控制共享文件夹的访问权限。我只为每个人设置了阅读.. 为开发人员组设置了读/写;
    猜你喜欢
    • 2022-11-05
    • 1970-01-01
    • 1970-01-01
    • 2013-08-07
    • 2012-04-24
    • 2015-12-06
    • 1970-01-01
    • 1970-01-01
    • 2014-04-18
    相关资源
    最近更新 更多