我在我的服务器上有一个本地Git仓库,我想将其导入GitHub。我查找了如何做到这一点,并找到了两种不同的方法,都是由GitHub提供的。
根据GitHub帮助页面 导入外部Git仓库,将现有的Git仓库导入GitHub的方法是创建原始仓库的临时裸克隆,然后使用“镜像”选项将其推送到GitHub。该页面提供以下命令序列:
然而,每当您在GitHub上创建一个新仓库时,空的仓库页面会提供一组不同的指令来导入现有的仓库。它建议简单地将原始仓库推送到GitHub。该页面提供以下命令序列。
在这两种情况下,在执行给定的命令之前,空的repo
根据GitHub帮助页面 导入外部Git仓库,将现有的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
在这两种情况下,在执行给定的命令之前,空的repo
ghuser/repo
应该已经存在于GitHub上。我看到这两种方法之间唯一的区别是第一种方法没有为GitHub repo添加远程。我尝试了这两种方法来测试它们,它们都有效。这两个存储库看起来完全相同。这两种方法有什么区别?如果这两种方法具有相同的效果,那么为什么GitHub帮助页面会增加创建裸克隆和使用镜像选项的额外步骤呢?