从Github迁移代码库到本地文件系统?

3

我在github上有一个git仓库。

我想将该仓库的主版本迁移到本地文件系统,并从此本地文件系统副本进行克隆。

我该如何操作?


使用Git时,所有对代码库的克隆都是等效的。你是想在本地文件系统上有两个代码库副本,一个用于工作,一个用于推送,还是想从其他计算机拉取这个本地副本? - mckeed
我想从本地副本中获取数据,无论是在本地还是其他计算机上。我想要将我的代码库从Github“移动”到我的一台电脑上,而不是复制。 - Joseph Turian
复制和移动的区别在于原始侧的删除。你的意思是要复制,然后从 Github 上删除它吗? - Cascabel
我想将它复制,然后从 Github 上删除,再像往常一样从复制中克隆。 - Joseph Turian
2个回答

6

首先,通过克隆你的 Github 仓库来创建新的仓库:

git clone --bare git@github.com:<User Name>/<Project Name>.git

如果您想删除您的Github存储库,请访问https://github.com/<用户名>/<项目名称>/edit。在页面底部,有一个链接可用于删除存储库。 然后设置您的新存储库以进行共享: http://www.google.com/search?q=serving+a+git+repository 最后,在所有其他Github存储库的克隆中,更改原始url。
git remote set-url origin <new url>

实际上,您可以只使用--bare选项。在git 1.6.2中测试过,它不会创建origin远程。 - Dinoboff
这样做和克隆存储库、进行更改,然后将其推送到其他地方有什么区别吗?那个其他地方是否具有原始位置的所有过去更改? - user59278

0

使用Git时没有“主”存储库,所以您只需要从Github中git clone一个存储库,然后从本地存储库克隆即可。

当然,您无法指示Github从您的本地存储库拉取,因此仍然需要使用git push将任何更改推送到Github。但是,这样做并不会使Github存储库比您的本地存储库更具权威性。

当您git clone一个存储库时,Git会设置“origin”远程(请参见git remote)指向您刚刚克隆的存储库。因此,如果您有一个Github存储库G,并将其克隆到本地存储库A,然后将A克隆到另一个存储库B,则B的“origin”将指向A,而不是G。

您始终可以使用git remote命令更改“origin”指向的内容。


这不是我想要的。我想指示 GitHub 从我的本地仓库拉取代码。 - Joseph Turian
2
Github 不支持从 Github 以外的其他仓库进行拉取操作。 - Greg Hewgill
我怀疑你能让GitHub从你那里拉取代码 - 你不能在那里执行常规的命令,对吗?而且即使你可以,那也是一个裸库吧? - Cascabel
无论如何,格雷格说得对 - 如果你想称呼自己的为主要版本,就称呼为主要版本。如果你想让 Github 上的版本继续存在并更新,请将其保留并推送更新。 - Cascabel
我的评论中有误。 我的意思是:“我想指示git从我的本地仓库拉取。” - Joseph Turian

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