谷歌上有很多答案都指向同一个方向,但是当谈到版本控制时,我不想尝试任何东西然后弄乱我的存储库。
我已经在 GitHub 上建立了一个存储库,并且想将它移动到另一个用户,以便我可以关闭存储库。一旦它属于他的帐户,他就会邀请我参加回购。我想这是与客户合作的一个很常见的用例——一旦你完成了项目,你就把它交给他们。
现在,假设这是可能的,我将如何更改项目中的本地 Git 设置,以便我现在推入/拉出新位置?而且,通过移动回购,我会丢失提交历史吗?
谷歌上有很多答案都指向同一个方向,但是当谈到版本控制时,我不想尝试任何东西然后弄乱我的存储库。
我已经在 GitHub 上建立了一个存储库,并且想将它移动到另一个用户,以便我可以关闭存储库。一旦它属于他的帐户,他就会邀请我参加回购。我想这是与客户合作的一个很常见的用例——一旦你完成了项目,你就把它交给他们。
现在,假设这是可能的,我将如何更改项目中的本地 Git 设置,以便我现在推入/拉出新位置?而且,通过移动回购,我会丢失提交历史吗?
以下任何一项都将起作用:
只需将 repo 的所有权转让给另一个用户,让他们将您添加为协作者。
如果有人分叉您的仓库,那么您删除原始仓库,他们的分叉仍然存在,除非它是私有仓库。然后,他们可以将您添加为他们 fork 存储库的合作者。
另一个用户可以简单地克隆你的 repo(提交完整),在 GitHub 上创建一个新的 repo,添加新 repo 的远程信息,并将你的 repo 推送到他们的新 repo。(然后,他们可以将您添加为协作者。)
要回答问题:
你不会丢失任何东西 - 甚至不会提交历史记录。Git 的重点在于它是去中心化的——每个拥有存储库副本的人都拥有一切。只是新的回购。
更改 git 设置以推送到新存储库很容易。您可以使用
git remote set-url origin git://new.url.here
或编辑.git/config
文件。
我会说你应该:
你为什么不在github中做呢?只需将所有权转让给新用户。转到 Github 上的设置。
转让所有权:将此 repo 转让给其他用户或您拥有管理员权限的组织。
这也可以直接在 PC 上使用桌面版 GitHub 完成,无需安装 CLI。
如上面@citruspi 所述,如果您编辑配置文件,则您正在手动执行此命令为您执行的操作。
git remote set-url origin git://new.url.here
如果您有 CLI,可以为您服务。
https://stackoverflow.com/a/14132101/3099982
或编辑 .git/config 文件。
下面的步骤...
你不会失去任何东西。这就是 git 的意义所在。项目的每个副本都有一个完整的 repo 副本——你有它,github 有它,任何分叉它的人都有它。
远程的配置只是 .git/config 文件中的一行:
url = git@github.com:mattneub/Programming-iOS-Book-Examples.git
您可以删除旧遥控器并创建一个新遥控器,但最简单的方法就是手动编辑该行。
这里没有什么神秘之处。.git 文件夹和您的存储库直接对您的视图开放。