我有一个包含简单本地git仓库的项目,我想要将这个项目(包括文件夹等)移动到另一台电脑上,并从那里开始工作。我不希望在旧电脑上留下任何东西(当然除了其他git项目)。我希望就像一直从新电脑上工作一样。
我能否简单地将所有文件移到那台计算机上,或者密钥会出现问题吗?我是否应该在两台计算机上使用相同的密钥?如果不能简单地移动所有文件夹,我该怎么办?我想避免设置和学习使用服务器的麻烦,因为这似乎很复杂,而且我不想改变我的工作流程。
我有一个包含简单本地git仓库的项目,我想要将这个项目(包括文件夹等)移动到另一台电脑上,并从那里开始工作。我不希望在旧电脑上留下任何东西(当然除了其他git项目)。我希望就像一直从新电脑上工作一样。
我能否简单地将所有文件移到那台计算机上,或者密钥会出现问题吗?我是否应该在两台计算机上使用相同的密钥?如果不能简单地移动所有文件夹,我该怎么办?我想避免设置和学习使用服务器的麻烦,因为这似乎很复杂,而且我不想改变我的工作流程。
针对您的情况,最好的方法是将文件夹(使用复制、SCP、CP、Robocopy中的任何一种)复制到新计算机并删除旧文件夹。
我完全不同意@Pablo Santa Cruz提出的克隆是您正在做的事情的范例。不,它不是。您正在将存储库移动到新计算机。
我为什么不喜欢使用克隆:
如果您搜索备份git存储库的方法,git克隆不会成为前几个答案。因此,不应将其用于移动存储库!我还觉得只使用git clone
不能作为正确的答案,因为git clone
具有--mirror
选项,该选项保留存储库,这意味着git clone
存储库不同于git clone --mirror
存储库(除了裸库之外,差异主要是我上面提到的)。我会进行复制,因为我知道使用复制后会得到相同的存储库!
何时考虑使用git克隆:
git bundle
子命令旨在离线传输存储库。$ git bundle create --progress myproject.bundle --all
然后将创建的文件myproject.bundle
转移到目标机器上,并在那里执行以下命令:
$ git clone myproject.bundle myproject
把数据复制到另一台计算机上就足够了。使用git clone几乎是相同的事情,但它会将您从中克隆的计算机设置为远程起源,这可能不是您想要的。
在进行项目时,如果你被迫换到一台新电脑上。
在每个项目文件夹中运行以下命令
git remote update
我建议你不要复制,而是使用clone
来克隆代码库。克隆是实现你想要完成的任务的正确范例。克隆的项目也将包含所有的git
元数据和信息。
在目标机器上:
$ git clone git://your-repo/proj proj
可以使用ssh://
或者http://
协议来访问代码库,而不是使用git://
。更多信息请参考git
手册。