0

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

4

2 回答 2

3

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

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

我还将假设您已经在本地克隆了第二个(“modded”)存储库的 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")

我希望这会有所帮助。

于 2011-04-07T15:05:25.903 回答
1
git remote add original git://github.com/foo/bar.git
git fetch original
git checkout -b original original/master

那样的东西?这会将原始 github 存储库作为远程添加到您的本地存储库,然后您将远程 master 分支作为分支检出original

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

于 2011-04-07T14:59:27.507 回答