将git存储库移动到另一个github用户

dch*_*cke 13 git version-control github

谷歌有许多答案指向同一个方向,但是当涉及到版本控制时,我不想尝试任何东西,然后搞乱我的存储库.

我在GitHub上设置了一个存储库,并希望将其移动到另一个用户,以便我可以关闭存储库.一旦它属于他的帐户,他就会邀请我去回购.我想这是与客户合作的一个常见用例 - 一旦你完成了项目,就把它交给他们.

现在,假设这是可能的,我如何更改项目中的本地Git设置,以便我现在推动/从新位置拉?而且,通过移动回购,我会失去提交历史吗?

xer*_*ero 10

以下任何一项都有效:

  • 只需将repo的所有权转让给其他用户,并让他们将您添加为协作者.

  • 但如果有人问你的回购然后你删除了原件,他们的叉子仍在那里.然后他们可以将你作为他们的fork repo的合作者添加.

  • 或者其他用户可以简单地克隆您的仓库(提交完整),在github上创建一个新的仓库,添加新仓库的远程信息,并将您的仓库推送到新仓库.(然后将您添加为协作者)

  • 只是想通过xero纠正所选答案中的某些内容.Github文档说:"删除将删除所有分支的存储库.请注意,这只会影响私有存储库,而不会影响公共存储库." 所以它看起来像上面的评论,"但如果有人问你的回购然后你删除原始,他们的分叉仍在那里,"如果回购是私有的,这是不正确的. (3认同)

cit*_*spi 7

回答问题:

  1. 你不会失去任何东西 - 甚至没有提交历史.Git的观点是它是分散的 - 每个拥有存储库副本的人都拥有一切.只是新的回购.

  2. 可以轻松更改git设置以推送到新存储库.你可以使用

    git remote set-url origin git://new.url.here
    
    Run Code Online (Sandbox Code Playgroud)

    或编辑.git/config文件.

我会说你应该:

  1. 转移存储库的所有权(或让客户端分叉).
  2. 更改您的git配置以推送到新存储库
  3. 你完成了.


the*_*olm 6

为什么不在 github 内做呢?只需将所有权转移给新用户即可。转到 Github 上的“设置”。

转让所有权:将此存储库转让给其他用户或您拥有管理员权限的组织。