我的服务器上有一个本地 Git 存储库,我想将其导入 GitHub。我四处寻找如何做到这一点,遇到了两种不同的方法,都是 GitHub 提供的。
根据 GitHub 帮助页面Importing an external Git repository,将现有 Git 存储库导入 GitHub 的方法是创建原始存储库的临时裸克隆,然后使用“镜像”选项将其推送到 GitHub。该页面提供以下命令序列:
git clone --bare https://githost.org/extuser/repo.git
cd repo.git
git push --mirror https://github.com/ghuser/repo.git
cd ..
rm -rf repo.git
但是,每当您在 GitHub 上创建新存储库时,空的存储库页面都会提供一组不同的关于如何导入现有存储库的说明。它说只需将原始存储库推送到 GitHub。该页面提供以下命令序列。
git remote add origin git@github.com:ghuser/repo.git
git push -u origin master
ghuser/repo
在这两种情况下,在执行给定命令之前,GitHub 上应该已经存在空仓库。我看到这两种方法的唯一区别是第一种方法没有为 GitHub 存储库添加远程。
我尝试了两种方法来测试它们,它们都有效。这两个存储库看起来完全一样。这两种方法有什么区别?如果这两种方法效果相同,为什么 GitHub 帮助页面添加了创建 repo 的裸克隆和使用镜像选项的额外步骤?