Git 撤消将远程分支克隆到本地

Git 撤消将远程分支克隆到本地,git,github,Git,Github,这次我把事情搞砸了 基本上,我在离线时做了一些关于一个全新项目的工作。现在我又回到了网上,我想把它放到git中。运行gitinit告诉我,我在那个位置已经有了一个现有的repo(虽然我不记得做过),但是没有要提交的更改(我现在意识到这些文件可能只是未跟踪) 我最终做的是在GitHub上创建一个新的私有回购协议,然后将其克隆到我的本地回购协议。我天真地认为这将使我能够添加,提交和将我的本地更改推送到远程 然而,它只是用空的远程文件替换了我的本地repo,从而删除了我所有的本地文件 幸运的是,我在编

这次我把事情搞砸了

基本上,我在离线时做了一些关于一个全新项目的工作。现在我又回到了网上,我想把它放到git中。运行
gitinit
告诉我,我在那个位置已经有了一个现有的repo(虽然我不记得做过),但是没有要提交的更改(我现在意识到这些文件可能只是未跟踪)

我最终做的是在GitHub上创建一个新的私有回购协议,然后将其克隆到我的本地回购协议。我天真地认为这将使我能够
添加
提交
将我的本地更改推送到远程

然而,它只是用空的远程文件替换了我的本地repo,从而删除了我所有的本地文件

幸运的是,我在编辑器中打开了一些文件,因此我可以简单地保存更改,但我必须拼凑缺少的内容


现在,这有点遥不可及,但是有没有办法消除这种混乱?

我想知道您是如何(使用哪个工具或命令)在现有的本地目录上克隆新存储库的。由于该本地目录是一个已经初始化的Git存储库,或者您以某种方式删除并重新创建了它,然后它很可能无法恢复任何内容,或者您实际上只添加了一个新的远程目录,并使用一个新的分支更新了工作目录,删除了一些提交,强制重写历史记录或诸如此类的内容。在后一种情况下,您可以使用
git fsck--lost-found
检索丢失的提交,然后可以选择使用
git reflog
git show
git cherry pick

首先,使用
git init
您可以始终执行
ADD
COMMIT
,因为它们是本地的。要进行远程操作,您只能执行
推送操作
。当你已经有了一个repo,你可以创建你的远程设备,但是你不需要克隆(链接它们),你只需要做一个
git-remote-add
。记住这一点,以备将来需要。对于您的特殊问题,如果文件真的被永久删除了,也许硬盘文件恢复工具会有所帮助。@Lovato是的。我知道这一切,但我遭受了严重的急性脑放屁。这没什么大不了的,我会从头开始。谢谢。:)正如OP中所解释的,运行
gitinit
告诉我,我已经有了一个本地repo,但是我无法提交我的更改。我认为它们只是没有被追踪,即使它识别出文件已经被更改。我也无法添加远程(
git-remote-add-origin)https://github.com/TheNix/myawesomeproject.git
)或推送任何内容(不提交,记得吗?)。然后,我简单地点击了方便的“在桌面上设置”按钮,Github有这个按钮。这将启动他们自己的应用程序,它具有未知的魔力。它警告我现有文件可能被覆盖,但我没想到它会删除所有其他文件。不提交。好的,对不起。所以它死了。不走运。