首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >运行"git签出源文件/主“后,意外地从本地文件夹中删除文件

运行"git签出源文件/主“后,意外地从本地文件夹中删除文件
EN

Stack Overflow用户
提问于 2022-06-22 12:42:35
回答 3查看 59关注 0票数 2

我对git很陌生。

在运行git checkout origin/main命令后,我意外地从本地机器中删除了所有项目文件。

我也检查过,也找不到回收站中的文件。我怎样才能找回丢失的文件?

当我学习Git的时候,我正在遵循我写的脚本,这是我第一次在一个实际的项目中尝试它。以下是我收到的信息。我应该运行git switch。如果是的话怎么做。

我不想再做一些愚蠢的事,不管剩下的是什么,我都不想做。我怎样才能找回丢失的文件?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-06-22 13:57:33

好的新方法是:运行的命令不是破坏性命令,您只需将初始提交切换到origin/main当前的提交。

回到你以前的地方的最短的方法是跑:

代码语言:javascript
运行
复制
git switch -

(在该命令中:-的意思是“以前的状态”)

更详细的方法是运行git reflog,检查所做操作的历史,然后返回到特定的sha1或分支,因为关联的消息提到:checkout: moving from <branch> to origin/main

(实际上:git switch -是一个快捷的方法,可以“检查重放并回到上次提到‘从这个到那个’的时候”)

票数 1
EN

Stack Overflow用户

发布于 2022-06-22 13:26:36

是的,说git switch -,看看是否所有的文件返回。我想他们会的。

我不认为这些文件被删除了。您需要理解的是,您看到的项目文件不是真正的项目文件。真正的文件隐藏在真实的Git存储库中,而这个存储库是不可见的。

在运行git签出源文件/main命令后,我意外地从本地机器中删除了所有项目文件。

我不这样认为。我认为您刚刚检查了另一个分支--一个不存在这些文件的分支。你需要了解什么是分支。

票数 1
EN

Stack Overflow用户

发布于 2022-06-23 20:09:39

git checkout可能很危险,因为它同时对文件和分支进行操作。

这就是Git 2.23+ (Q3 2019)引入git switch (手册页)的原因。

如果工作树有要删除或修改的文件,则不会切换。如果你失踪了,那就意味着他们被杀了。

-是在吉特修订中指定的@{-1}的缩写。

构造@{-<n>}是指在当前分支之前签出的<n>第四个分支/提交。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72715741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档