2013-02-10 42 views
1

在我的扫描中出现奇怪的问题。没有什么可添加的,但它不会让我切换或添加建议添加的文件。由于已添加文件而无法切换分支

git status 
# On branch oop 
nothing to commit (working directory clean) 

git checkout LIVE 
error: The following untracked working tree files would be overwritten by checkout: 
    folder/file.js 
    folder/file2.js 
Please move or remove them before you can switch branches. 
Aborting 

即使在做了git add folder/file.js;git add folder/file2.js之后,也发生了相同的结果。

任何人有任何想法发生了什么?没有的.gitignore文件...

奇怪的是,之前,我不能添加这些文件,所以我不得不重新命名,添加,重命名他们,让他们在回购(如this answer建议。

难道这个文件夹曾经是它自己的repo吗?我删除了这个文件夹中的所有隐藏文件夹(如.git)。

+0

它们很可能是您当前分支的'.gitignore'的一部分,但在LIVE分支上不会被忽略。 – 2013-02-10 22:18:37

+0

我检查了repo文件夹中的.gitignore文件,以及我的主文件夹,它们都是空的。 – 2013-02-10 22:19:35

+0

您可以使用'git status --ignored'来包含忽略的文件。如果他们出现在那里,他们会被忽略*在某处*。 – 2013-02-10 22:22:49

回答

1

不知道问题出在哪里,但是我做了下面修复它:

  • 删除该文件夹(并保存备份)
  • git add -u; //阶段删除的文件
  • git commit -m '...'
  • 复制备份文件到回购的文件夹
  • git add . //上演新文件
  • git commit -m '...'

在两个分支这样做,它似乎解决它至今..

0

还可能有子模块和其他.gitignore文件。如果您也使用了一个,请仔细检查您的排除文件。

克隆本地回购。查看结帐是否在克隆上工作。

+0

嘿,这些都是在一个克隆上完成的。一旦我注意到问题,我删除了一切,并克隆它再试一次。 'git status --ignored'没有返回任何东西。很奇怪的问题 – 2013-02-10 22:37:40

0

请记住,添加文件只会对文件进行分段。它不会将它们提交给回购。使用git add后,您还需要执行git commit来提交更改。