Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从本地备份重新创建远程Github存储库_Git_Github - Fatal编程技术网

从本地备份重新创建远程Github存储库

从本地备份重新创建远程Github存储库,git,github,Git,Github,短版: 在保留提交历史记录的同时,将本地Github备份恢复回Github的正确方法是什么 长版本: 所以,不久前,我正在Github上开发一些私有存储库。我打算暂时停止工作,所以为了节省一些钱(并避免将源代码公开),我确保我的本地分支完全更新,然后从Github中删除存储库。现在,我准备将这些本地文件恢复回Github,这次是作为公共文件而不是私有文件。但是,我在将文件返回到服务器时遇到了问题 我已经在Github上创建了一个同名的裸回购协议。原点设置正确,因为项目的名称(和URL)与以前相同

短版:

在保留提交历史记录的同时,将本地Github备份恢复回Github的正确方法是什么

长版本:

所以,不久前,我正在Github上开发一些私有存储库。我打算暂时停止工作,所以为了节省一些钱(并避免将源代码公开),我确保我的本地分支完全更新,然后从Github中删除存储库。现在,我准备将这些本地文件恢复回Github,这次是作为公共文件而不是私有文件。但是,我在将文件返回到服务器时遇到了问题

我已经在Github上创建了一个同名的裸回购协议。原点设置正确,因为项目的名称(和URL)与以前相同。这是一个小的个人项目,所以只有一个分支(主)

但是,由于我的git状态是最新的(从备份时起保留),所以当我尝试添加-A/commit/push--all时,什么也没有发生。从新的空白远程回购中提取似乎没有帮助

我发现了一些关于如何从本地git备份恢复的讨论,但它们都假设您正在恢复到自己的服务器上,并且可以在服务器端运行命令。显然,Github托管的回购协议并非如此


任何帮助都将不胜感激

您是否创建了对github repo的初始提交?你试过用力推吗?如果我正确理解了您的历史记录,那么您拥有的本地回购协议不是github上当前存在的协议的祖先,因此您需要强制更新REF,这将填充您的github回购协议的所有历史记录,以匹配您的本地回购协议

   -f, --force
       Usually, the command refuses to update a remote ref that is not an ancestor of the local ref used to
       overwrite it. Also, when --force-with-lease option is used, the command refuses to update a remote ref
       whose current value does not match what is expected.

我刚刚尝试了git push--all--force origin,完成时没有出现错误,但我的文件没有出现在远程repo中。远程回购在名称和URL上是对原始回购的再创造,但在内容上不是(这就是我现在试图恢复的内容)。@hwbehrens-Hm,我真的希望它能起作用。我在我的机器上尝试了你描述的场景,效果非常好。git是否“认为”它的起源是最新的是无关紧要的。在这一点上建议的另一件事是三次检查所有东西是否都到了正确的地方。我很紧张,所以这里有一个他妈的为什么不:在github上克隆你的新回购协议,从你的本地副本强制推送它,然后将现在更新的克隆推回到github。不过,如果遥控器是对的,那就没关系了。如果不是,那一定是github(不仅仅是与普通git相关的)。好吧,我想我只需要被告知做一些心智检查。结果发现我使用的终端上的git安装本身存在严重问题。换一台不同的机器解决了我所有的问题。谢谢你的帮助!