如何将git repo从Windows克隆到Linux?

如何将git repo从Windows克隆到Linux?,linux,windows,git,tortoisegit,Linux,Windows,Git,Tortoisegit,我以前在Linux服务器上保存了一个裸git存储库,在本地的Windows笔记本电脑上保存了一个工作副本以供开发(通过ssh使用TortoiseGit同步到服务器)。服务器版本已删除/丢失,因此我想使用Windows计算机上本地工作副本的最新提交在服务器上重新创建repo 从Windows working copy在远程Linux服务器上创建此新远程裸机repo副本的最佳方法是什么?只需在服务器上创建repo,然后将该repo添加到本地repo,如果它与以前的位置不同,则将其推送到本地repo。

我以前在Linux服务器上保存了一个裸git存储库,在本地的Windows笔记本电脑上保存了一个工作副本以供开发(通过ssh使用TortoiseGit同步到服务器)。服务器版本已删除/丢失,因此我想使用Windows计算机上本地工作副本的最新提交在服务器上重新创建repo


从Windows working copy在远程Linux服务器上创建此新远程裸机repo副本的最佳方法是什么?

只需在服务器上创建repo,然后将该repo添加到本地repo,如果它与以前的位置不同,则将其推送到本地repo。

您可以使用

mkdir -p myrepo.git
cd myrepo.git
git init --bare
在本地副本上,假设远程URL相同,则执行以下操作

git push origin <branch refspec>
注意:如果远程URL已更改,则可以使用

git remote set-url origin <new-url>
git远程设置url源

在Windows计算机上:

git clone --bare /path/to/local-working-copy-of-the-repo
上述命令将创建local-working-copy-of-The-repo.git文件夹。
现在将文件夹(裸存储库)复制到Linux服务器上

希望这能有所帮助。

遵循以下步骤:

  • 在远程服务器上创建一个裸存储库

    我想ad22提供的答案对您来说已经足够好了:

    mkdir -p myrepo.git
    cd myrepo.git
    git init --bare
    
    否则,您需要了解如何在服务器上创建裸存储库

  • 复制或记录刚刚创建的存储库的URL

    (当然,您需要有访问URL的权限。)

  • 为本地存储库添加新的远程存储库

    因为您已经有了本地存储库

  • 在该存储库中单击鼠标右键,然后单击
    TortoiseGit
    ->
    Settings
  • 给遥控器一个你复制的短名称和URL
  • 添加它并应用设置
  • 见:

  • 通过右键单击本地存储库并单击推送项目,推送到远程

  • 在“推送”对话框中

  • 选择刚才添加的遥控器
  • 如果所有分支都可以是公共分支,请选中“推送所有分支”复选框,否则需要逐个推送每个分支
  • 如果要推送所有标记,请选中包含标记复选框

  • 假设就这些^__^

    这不是最好的主意,因为在Windows上创建repo将在
    .git/config
    中创建一些与CR/LF和文件系统问题相关的设置(它们的区分大小写,缺少“x”标志)。最好在Linux上创建一个空的裸机回购协议,然后推送到它。值得注意的是,如果您有许多分支,
    git push origin--all
    后跟
    git push origin--tags
    比逐个推送分支和标签更容易。
    mkdir -p myrepo.git
    cd myrepo.git
    git init --bare