GitHub和GitLab项目之间的分叉

11

是否可能将GitHub项目分支成GitLab项目,反之亦然?


2
https://george.autonomic-networks.ele.tue.nl/fork-from-github-to-gitlab/ - Blue
2
文章已经消失 :( - thaspius
1个回答

14
在创建新的存储库时,您可以选择导入另一个存储库,其中之一是通过从其他存储库站点(例如github)导入其https://... url来进行导入。这将启动git clone --bare <url>以导入存储库。GitLab文档中详细描述了该过程。每当我尝试时,该过程会无限期地保持“正在进行中”状态。

更新:这似乎仅适用于您拥有的存储库。因此,要导入公共存储库,解决方法是先派生它,然后再导入派生存储库。

因此,在填充新存储库之前,另一种方法是在命令行上克隆存储库:

当你在GitLab网站上创建一个新的空仓库时,会得到一个页面,上面充满了如何填充此仓库的建议。 为github网站设置跟踪器基本上是使用“现有的Git仓库”这个指南的变体,不同之处在于首先克隆要跟踪的仓库,而不是像指南中建议的那样将以前的origin重命名为old-origin,而是希望将其重命名为upstream以保持惯例。因此,您将按照以下步骤进行:
  1. 克隆要跟踪的原始代码库: git clone https://github.com/<author>/<repository.git> <repository>-tracker
  2. 进入代码库所在的目录 cd <repository>-tracker
  3. 将源(origin)重命名为其他名称(upstream),以便您仍然可以访问它。 git remote rename origin upstream
  4. 在您的gitlab服务器上创建自己的代码库,给它一个合适的名称和描述(不要忘记在那里引用/链接原始来源)
  5. 将您自己的gitlab代码库的url添加为origin。包括到您自己的代码库路径的确切行可以在您可能会收到的现有Git代码库配方中找到。 git remote add origin git@<gitlab-server>/<path-to-your-repo>.git
  6. 将代码库推送到您的gitlab服务器: git push -u origin --all git push -u origin --tags
  7. 之后: git remote -v origin git@<gitlab-server>/<path-to-your-repo>.git (fetch) origin git@<gitlab-server>/<path-to-your-repo>.git (push) upstream https://github.com/<author>/<repository.git> (fetch) upstream https://github.com/<author>/<repository.git> (push)

第一种方法现在似乎有效(2023/08) - Nic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接