git 无法 checkout 分支或删除有问题的文件

kiayqfof  于 11个月前  发布在  Git
关注(0)|答案(4)|浏览(180)

我在我的Java项目中有两个分支:master和refactor。我已经完成了重构的工作,所以现在想将checkout master和refactor合并到master中。在进行重构的同时,我还添加了一些文件到.gitignore(其中一个是.idea),现在我得到了:

[michal@michal-pc MCleaner]$ git checkout master
error: The following untracked working tree files would be overwritten by checkout:
.idea/description.html
.idea/misc.xml
.idea/modules.xml
.idea/project-template.xml
.idea/vcs.xml
Please move or remove them before you switch branches.
Aborting

字符串
我看了很多帖子,都没有效果。我怎么才能在不访问主分支的情况下删除这些文件?有没有办法解决这个问题?如果可以的话,请提供cmd命令,我还是个新手。
以下是git status的输出:

On branch refactor
Your branch is up-to-date with 'origin/refactor'.

Untracked files: (use "git add <file>..." to include in what will be committed)
  .idea/
  target/

nothing added to commit but untracked files present (use "git add" to track)

anauzrmj

anauzrmj1#

首次运行

git checkout <branch_name>

字符串
结果将如下所示

error: The following untracked working tree files would be overwritten by checkout:
        .idea/codeStyles/Project.xml
        .idea/codeStyles/codeStyleConfig.xml
        .idea/workspace.xml
Please move or remove them before you switch branches.
Aborting


如果你确定丢失这些文件中的任何数据(它们将被覆盖),请继续运行

git checkout <branch_name> --force

vwkv1x7d

vwkv1x7d2#

将以下内容添加到.gitignore

.idea

字符串
并删除此目录

git rm -r .idea


然后提交更改。

1cklez4t

1cklez4t3#

将您不希望跟踪的这些文件添加到**.gitignore文件中。
作为最佳实践,您应该只跟踪特定于项目的源代码和资源文件。IDE项目特定的设置文件不应该被跟踪和提交。通过这样做,项目变得与IDE无关,任何开发人员都可以 checkout repo并无缝工作,而不管他选择的是什么IDE。
示例:将这些添加到
.gitignore**文件中

.idea         #intellij files
.settings     #eclipse files

字符串
注意:类似地添加其他IDE设置目录如下。
然后提交更改。
如果文件当前在远程存储库中,请在提交更改之前删除这些文件。

o2g1uqev

o2g1uqev4#

查看手册

git clean --help

字符串

相关问题