Intellij IDE - 切换GIT分支时删除文件夹

3

我不确定这是一个GIT问题还是IntelliJ问题...

我从GIT上获取了一个项目。我创建并推送了一个新分支,在这个新分支上,我有几个新目录。现在当我切换回原始分支时,这些目录在远程上还不存在,但是在我的项目中本地仍然可以看到这些文件夹,但不作为版本控制下的文件。

如果它们从未被提交或推送到当前检出的分支上,那么这些文件夹是否可能默认被删除?


我在我的电脑上无法重现这个问题。你使用的是哪个集成开发环境版本?是否可以通过新的示例项目来重现这个问题? - undefined
@hublo 据我所了解,你的文件上有红色的高亮标记,对吗?如果是的话,那么这是因为这些文件在你的项目中本地存在。你可以点击项目 git -> 还原并勾选复选框(删除本地副本和已添加的文件),这样就可以解决问题了。 - undefined
2个回答

1

你的问题不太清楚。但是我可以想到三种可能发生的情况。

  1. 你说你创建并推送了一个新的分支,但是你是否已经将新文件/文件夹添加到了这个分支中并进行了提交?如果没有,在切换到其他分支后,这些文件仍然会存在,因为它们没有被添加到版本控制系统中。通过运行命令git status来检查文件的状态。如果是这种情况,只需切换回你的新分支,并正确地添加/提交这些文件。

  2. 如果目录为空,那么它们永远不会被添加到版本控制系统(GIT)中。如果你想在项目中保留空目录,常见的做法是在每个目录中添加一个名为.gitkeep的空文件。如果是这种情况,切换回你的新分支,向每个目录添加.gitkeep文件并进行提交。

  3. 如果你的目录或文件列在.gitignore文件中,那么这些文件将永远不会被添加到版本控制系统(GIT)中。


1
我有同样的问题。你只需要在控制台中输入以下内容:
git clean -fd

这将在您在分支之间切换时清除所有未管理的文件。
但要小心,它也可能会删除您的新文件,如果没有添加到当前 git 分支。

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