如何将本地的git代码库导入到github?

7

我有一个本地的git代码仓库,其中包含已经提交了的代码。现在我想将这个代码仓库导入到github上,并保留它的提交记录。我已经完成了以下步骤:

1. 在github上创建了一个新的代码仓库。

2. 将这个新的代码仓库添加为本地代码仓库的远程地址:

git remote add origin https://github.com/...

并且。
git branch --set-upstream-to=origin/master master

但是当我尝试git pull时,我遇到了这个错误:

fatal: refusing to merge unrelated histories

我听说过切换到--allow-unrelated-histories,但有警告说这可能会对存储库造成复杂性。我没有尝试它。 这个问题似乎涉及相同的问题,但答案已经很老了,没有解决我遇到的问题。
除此之外,我发现的指南要么假设我有另一个公共存储库,其URL可以粘贴到某个导入对话框中;要么他们假设我根本没有版本控制,只有一堆文件。

1
你的本地代码库和提交记录有哪些?你的GitHub代码库里有什么?如果两者都是空的或只包含像README或LICENSE这样的微不足道的文件,那么你应该将其删除并重新创建一个新的空代码库,不带任何历史记录。 - Code-Apprentice
本地仓库包含代码。Github上的仓库包含一些自动生成的文件:.gitignore、LICENSE和README.md。 - user1785730
1个回答

11

看起来你已经创建了一个带有README文件或LICENSE文件的GitHub存储库。GitHub提供为您创建这些文件,但在你的情况下不应该这样做。我建议你删除你的GitHub存储库并创建一个全新的完全空白的存储库。然后按照你已经完成的相同流程进行操作:

git remote add origin https://github.com/...
git branch --set-upstream-to=origin/master master

与其使用git pull,不如使用git push将您的当前主分支上传到GitHub。

另一方面,如果您的本地仓库不包含代码,则应删除它并运行以下命令:

git clone https://github.com/...

这将在运行命令的目录中创建一个新的子目录。该子目录包含一个新的存储库,远程配置正确指向GitHub存储库。它还包含GitHub存储库的所有分支的远程跟踪分支,并自动检出master


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接