我有一台运行在Windows台式机上的git服务器,它已经莫名其妙地失去了连接到互联网的能力.我想将repo移动到linux机器上.我已经知道如何在设置后将克隆的repos切换为指向新的master,但我需要先将它转换为新的机器.
我假设因为windows和linux有点不同,我不能只是逐字复制repo目录.但也许我可以吗?我有什么选择?
Von*_*onC 16
你可以做一个git包:它会在一个文件中压缩repo.移动一个文件很容易,而不是包含所有文件的all repo.
git bundle create /tmp/myrepo.bundle --all
Run Code Online (Sandbox Code Playgroud)
请参阅" 如何通过电子邮件向某人发送git存储库? "
在Linux上复制后,您可以从该文件中克隆.
git clone myrepo.bundle
cd myrepo
Run Code Online (Sandbox Code Playgroud)
正如之前所建议的,您可以创建捆绑包。但捆绑包是一个只读存储库。
这是最简单的事情:只需复制项目的根文件夹(它必须包括内部.git)。将其复制到 USB,然后复制到 Linux 计算机。
您唯一需要担心的是 CRLF。这就是 git 处理换行的方式。
在 Windows 上,它应该具有 true 值,而在 Linux 上它应该具有输入值,如下所示
# Linux based OS should be:
git config --global core.autocrlf input
# Windows configuration
git config --global core.autocrlf true
Run Code Online (Sandbox Code Playgroud)