将代码库克隆到GitHub

22

我已经使用本地的git有一段时间了,并且有一个私人仓库,里面包含完整的更改历史记录等。现在我想在GitHub上分享它,所以我需要将本地仓库克隆到一个新的GitHub仓库中。我找不到任何方法来做到这一点。如何把我的所有历史记录上传到GitHub上?

3个回答

40

你不需要在 GitHub 上“克隆”,只需在 GitHub 上创建一个存储库并将更改推送到那里即可:

$ cd your_local_repo
$ git remote add origin git@github.com:USERNAME/REPO_NAME.git
$ git push origin master

谢谢 - 这样会保留我的提交历史记录吗? - cdmh
是的,你本地仓库的主分支上的所有内容都将被推送到 GitHub 上。如果你有一些标签,你也会想通过 git push --tags 命令将它们推送上去。 - Xion
2
我想补充一点,在第一次推送时,使用 --mirror-u 可能是一个明智的选择:git push --mirror -u origin - kostix
该主题的“官方”文章:https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line - Nikos Alexandris
据我所知,clone会复制存储库中的所有分支,而不仅仅是master分支。如果这是真的,那么按照答案中的说明操作似乎会产生与从远程位置运行clone不同的效果。有没有一种方法可以修改这些说明,使它们具有与从远程位置运行clone几乎相同的效果? - Vectornaut

6
你只需要在GitHub账户上创建一个新的代码库。假设你的账户名是"CraigH",你想要将新的代码库命名为"NewRepo"(我知道这很有创意),那么你只需要(假设你已经正确地在系统中设置了GitHub密钥):
  1. 将本地代码库添加到远程
    • git remote add origin git@github.com:CraigH/NewRepo.git
  2. 将当前历史记录推送到GitHub
    • git push --set-upstream origin master
从此时起,你在"master"分支上的历史记录就会在GitHub的"master"分支上。

0
你可以通过将代码推送到 GitHub 上的远程仓库来实现。这样你就可以获取整个历史记录和所有内容。

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