基本上,我所在的团队拥有一个GitHub存储库,该存储库现已删除。我仍然将代码保存在本地计算机上,并希望将该项目放在我的个人GitHub上。我希望有某种方式可以使提交历史记录保持完整,以便其他团队成员可以为自己所做的工作表示赞赏。但是,由于该存储库已用完,所以我无法再进行此操作。有什么方法可以做,还是我应该重新创建存储库并将其记入自述文件中?还是完全不使用它?
答案 0 :(得分:1)
首先,提交历史记录存储在存储库每个副本的 .git 文件夹中。它不是由Github存储或管理的,相反,Github的仓库副本也有一个 .git 文件夹,其中包含与本地副本相同的提交历史记录。基本上,只要 .git 文件夹为“ intact ”,那么当您< em> push 仓库在其他任何地方。
第二,Github 支持恢复或还原已删除的仓库,请参阅Github文档中的Restoring a deleted repository。但是,该选项取决于您是否拥有创建旧存储库的帐户或组织,以及是否在超过90天的时间内未删除旧存储库,以及该旧存储库是否没有分支。如果您可以还原它,则可以将其存储到您的个人帐户中。
如果不能选择恢复旧存储库,则另一个选项(简单,恕我直言)是创建一个新存储库,并将本地副本推送到该新远程服务器上。当您说“ 已将代码本地保存在我的计算机上”时,我认为它仍然是一个工作正常的git存储库,如下所示:
$ cd myproject
$ git log
$ git remote -v
origin git@github.com:ginomempin/my-old-repo.git (fetch)
origin git@github.com:ginomempin/my-old-repo.git (push)
其中 my-old-repo.git 是已删除的Github存储库,日志仍显示所有提交。转到Github并创建一个全新的仓库。当它将您重定向到“您的新存储库为空”页面时,请注意有关推送现有存储库的说明:
由于您的本地副本中已经有一个origin
,因此您可以将其更改为新的URL:
$ git remote set-url origin git@github.com:ginomempin/my-new-repo.git
$ git remote -v
origin git@github.com:ginomempin/my-new-repo.git (fetch)
origin git@github.com:ginomempin/my-new-repo.git (push)
现在只需将其全部推送到新的仓库中即可。
$ git push --all
该新仓库现在将包含所有旧提交,就像旧提交一样。