问题描述
|
我有一个带有简单本地git repo的项目,我想将此项目(文件夹等)移到另一台计算机上,然后从现在开始工作。我不想在旧机器上留下任何东西(当然我的其他git项目除外)。我希望就像我一直在使用新机器一样。
我可以简单地将所有文件移动到该计算机上,还是密钥有问题?我应该在两台机器上使用相同的密钥吗?如果仅移动所有文件夹无法完成,该怎么办?我想避免设置和学习使用服务器的麻烦,因为这看起来很复杂,并且我不想更改自己的工作流程。
解决方法
对于您的情况,最好的方法是将文件夹(副本,scp,cp,robocopy-两者中的任意一个)复制到新计算机上,然后删除旧文件夹。
我完全不同意@Pablo Santa Cruz的观点,克隆是您正在做的事情的范例。不它不是。您正在将存储库移至新计算机。
为什么我不喜欢克隆的目的:
它为克隆的存储库中的每个分支创建远程跟踪分支。您正在移动,并且旧的回购已失效。
任何远程分支和其他引用都将被完全忽略。
如果有钩子,您将一无所获,您可能会忘记拥有钩子!
您不能使用git reflog或其他方式获得“丢失”的提交。可能不是一个大问题,尤其是如果该回购充当服务器但要注意的事情。
如果您搜索备份git repo的方法,则git clone不会是最重要的答案。因此,不应将其用于移动存储库!我还觉得仅仅
git clone
是不正确的答案,因为git clone
具有--mirror
选项,该选项保留了回购,这意味着git clone
回购与git clone --mirror
回购不同(除了裸露之外,差异大部分是我上面提到的那些区别)。我会进行复制,因为我知道复制后的仓库会得到什么-相同的仓库!
何时考虑git clone:
由于git在克隆时进行了一些优化,因此速度更快
您可能在新计算机上使用了不同的git版本,并且副本可能使该回购协议无法在其他版本中使用(当今并不常见)。但是实际上,这可能是另一个复制专家,因为这会告诉您新计算机的git版本不同。
,是的,足以将数据复制到另一台计算机上。使用git clone几乎是一回事,但是它将把您要克隆的计算机设置为远程来源,而这可能不是您想要的。
,在处理项目时,您被迫转移到新计算机上。
保存文件并将文件复制到新计算机
在新计算机上,安装git并创建ssh密钥
在每个项目文件夹上运行此
git远程更新
,因为每个克隆本身也是一个仓库,所以只需在第二台计算机上克隆第一个即可。
,建议不要复制存储库,而不要复制它。克隆是您要完成的工作的正确范例。克隆的项目还将包含所有“ 6”元数据和信息。
在目标计算机上:
$ git clone git://your-repo/proj proj
除了使用ѭ8之外,您还可以使用ѭ9或ѭ10协议访问存储库。有关更多信息,请参见git
手册。