【问题标题】:Git Collaborative DevelopmentGit 协同开发
【发布时间】:2011-04-07 14:37:27
【问题描述】:

我在 github 上从事协作项目,很多人都在研究它,有一个原始源和一个修改过的源,但由于修改过的源是一个分支,源源修改过,所以我不能同时将原始源和修改过的源作为叉子,所以我有修改后的叉子,我想将原点添加为分支,请帮助

【问题讨论】:

    标签: git git-branch fork collaborative


    【解决方案1】:

    欢迎来到 Stack Overflow,Learath2。恐怕很难弄清楚您的问题是什么意思,部分原因是缺少标点符号,部分原因是您使用的(无意中)令人困惑的术语。但是,我会尝试一下:

    • “源代码”是指“托管在 github 上的原始存储库”
    • “修改源”是指“原始存储库的一个分支,也托管在 github 上”
    • 当您说“我将修改后的版本作为 fork”时,您的意思是“我在 GitHub 上创建了第二个存储库”

    我还假设您已经在本地克隆了第二个(“修改过的”)存储库的 fork 以供使用。这意味着您所说的“修改后的”存储库现在由远程origin 引用。 (远程就像存储库 URL 的昵称。)这可能有点令人困惑,因为您将原始存储库称为 origin,所以让我们重命名它:

    git remote rename origin modded
    

    现在让我们为原始存储库添加另一个远程,将其命名为origin

    git remote add origin git@github.com:original-repository-or-whatever.git
    

    之后,您可以使用以下命令从该存储库中获取所有分支:

    git fetch origin
    

    如果您想处理来自该存储库的 master 分支的代码,您需要基于它创建一个本地分支,您可以这样做:

    git branch --track original-master origin/master
    

    现在您可以在两个本地分支之间切换:

    git checkout master
    # (switch to the branch based on the master branch from "modded")
    

    ...和:

    git checkout original-master
    # (switch to the branch based the on master branch from "origin")
    

    希望对你有所帮助。

    【讨论】:

      【解决方案2】:
      git remote add original git://github.com/foo/bar.git
      git fetch original
      git checkout -b original original/master
      

      类似的东西?这会将原始 github 存储库作为远程添加到您的本地存储库,然后您将远程主分支签出为分支 original

      它或多或少是一个例子。第一个命令是重要的。我不知道,你到底想做什么,但是加上遥控器,你应该可以做所有有趣的事情。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-10-22
        • 2018-01-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-22
        相关资源
        最近更新 更多