在Google上有很多答案指向同一方向,但是当涉及到版本控制时,我不想尝试任何操作,然后搞乱我的存储库。将git存储库移动到另一个github用户
我已经在GitHub上建立了一个仓库,并且想将它移动到另一个用户,以便我可以关闭仓库。一旦属于他的账户,他就会邀请我回购。我想这是与客户合作的一个常见用例 - 一旦你完成了项目,你就把它交给他们。
现在,假设这是可能的,我将如何更改项目中的本地Git设置,以便我现在正在推进/从新位置拉出?而且,通过移动回购,我会失去提交历史记录吗?
在Google上有很多答案指向同一方向,但是当涉及到版本控制时,我不想尝试任何操作,然后搞乱我的存储库。将git存储库移动到另一个github用户
我已经在GitHub上建立了一个仓库,并且想将它移动到另一个用户,以便我可以关闭仓库。一旦属于他的账户,他就会邀请我回购。我想这是与客户合作的一个常见用例 - 一旦你完成了项目,你就把它交给他们。
现在,假设这是可能的,我将如何更改项目中的本地Git设置,以便我现在正在推进/从新位置拉出?而且,通过移动回购,我会失去提交历史记录吗?
以下任一将工作:
刚刚转会回购的所有权转让给其他用户,并让他们加入你作为一个合作者。
但是,如果有人分叉你的回购,那么你删除原来的,他们的叉子仍然在那里。他们然后可以将您添加为他们的叉式回购协作者。
或其他用户可以简单地克隆您的回购(完整提交),在github上创建一个新回购库,添加新回购库的远程信息,并将您的回购库升级到新库。 (然后将你添加为合作者)
你不会失去任何东西。这是git的要点。该项目的每个副本都有一个完整的repo副本 - 你拥有它,github拥有它,任何分叉它的人都拥有它。
远程的配置只是在git的/ config文件的行:
url = [email protected]:mattneub/Programming-iOS-Book-Examples.git
您可以删除旧的遥控器和创建一个新的,但最简单的事情就是编辑该行用手。
这里没有神秘感。 .git文件夹和您的存储库直接打开您的视图。
你为什么不在github内部做到这一点?只需将所有权转让给新用户。转到Github上的设置。
转让所有权:将此回购转让给另一个用户或转到您拥有管理权限的 组织。
这似乎并不像听起来那么容易 - 出现很多信息的长时间警告。如果我执行以下操作:其他用户设置新的回购,我将本地回购地址更改为新回购地址,推送并删除自己的回购。这会起作用吗?新的回购会失去提交历史记录吗? – weltschmerz
是的,你的方法也可以。你不会失去任何历史。 –
非常容易和有效。 –
要回答的问题:
你不会失去任何东西 - 甚至不提交历史。 Git的意义在于它是分散的 - 每个拥有版本库副本的人都拥有一切。只是新的回购。
很容易更改git设置以推送到新的存储库。您可以使用
git remote set-url origin git://new.url.here
或编辑.git/config
文件。
我会说,你应该:
真棒,谢谢! – weltschmerz
只需要xero在所选答案中更正某些内容。 Github文档说:“删除将删除所有分支的存储库。请注意,这只会影响私有存储库,而不会影响私有存储库。”因此,它看起来像上面的评论,“但如果有人叉你的回购,那么你删除原来的,他们的分叉仍然存在,”是不正确的,如果回购是私人的。 – JazzTpt
https://help.github.com/articles/what-happens-to-forks-when-a-repository-is-deleted-or-changes-visibility/ 但是,如果他们删除所有的叉,文件上用户电脑应该仍然在那里,我想,完全的历史吧?那么可以创建新的存储库。但是为什么分叉,为什么不克隆呢?然后,据我所知,它不会与父母关联。 –