将github上的git repo复制/分叉到同一个组织中

我在github上有一个仓库,其中包含一个部署到两个不同域的Web应用程序。 应用程序在这里和那里的逻辑派生略有不同,取决于部署到哪个域。

我想把它分成两个单独的回购站,每个回收站一个。

Github不会让我把它分成同一个组织。 search“git重复回购”build议我应该克隆和镜像推它,但这似乎是保持两个同步的回购,我不想这样做。

最好的办法是什么呢? 如果可能的话,我想保留旧的提交历史。

只需创build一个新的存储库,并从您的工作副本推送到它:

git clone git@github.com:me/myrepo-original cd myrepo-original git remote set-url origin git@github.com:me/myrepo-new git push origin master 

现在你有一个新的库, myrepo-new ,和myrepo-original

如果你不需要叉子关系(例如,你想要某种分离的替代回购不pipe出于什么原因),通过你的谷歌发现和larsks的答案作为轮廓复制回购是好的。

如果你想做成一个分支,联系Github支持(support@github.com或https://github.com/support ),他们将在同一个组织中为你创build一个分支。 (他们对此也不挑剔,只需要为回购提供一个替代名称,因为账户中的回购名称必须是唯一的)。


更新 :用户史蒂夫赖斯在下面的评论中报告,GitHub支持表示,支持目前不再/不再在您的帐户中设置第二个分支。 您仍然可以尝试询问他们,因为支持员工可能会这样做 – 但这也可能是一个政策变化,阻止他们这样做。

另一种方法是将原始的repo添加到我们当前的repo中。

 #create a new repo in the org1 organization called myrepo-new 

在您的本地terminal中运行:

 git clone git@github.com:org1/myrepo-new cd myrepo-new git remote -v #shows current repo link on github as origin git remote add name-for-remote https://github.com/org1/repo-old git remote -v #shows repo-old as name-for-remote git fetch name-for-remote git merge name-for-remote/branch-to-get-from-remote #Now fix any conflicts if present #If number of files/commits is very high, the desktop client may hang when you try to commit your changes after merge. Try switching to Git Shell if this happens. git status git commit -m "commit message" git push origin master