2015-12-30 99 views
0

我想上一个新克隆的回购切换我的Windows机器上的分支:混帐未经跟踪文件错误

$ git checkout hybridClass 
error: Updating the following directories would lose untracked files in it: 
    Scripts\/ 

Aborting 

我提交的电流:

git commit -m "message" 
On branch master 
Your branch is up-to-date with 'origin/master'. 
nothing to commit, working directory clean 

我可以”不像是会找到这些未跟踪文件:

git clean -d -n 

(无输出)

我已经在另一台机器上成功签出了这个分支,所以我不确定这里发生了什么。如果这是重复的,我很抱歉;没有一个类似的帖子似乎很合适。

编辑:添加git status输出

git status 
On branch master 
Your branch is up-to-date with 'origin/master'. 
nothing to commit, working directory clean 
+1

'git status'说什么? –

+0

在工作树的顶层有一个'Scripts \'或'Scripts'目录吗?它包含什么? –

+0

是的;这是我的大多数被跟踪的文件。主要是python和R脚本,以及一些队列管理器批处理作业脚本和输出文件。在提交之前,所有事情都是用'git add .'进行的,而不是在.gitignore中。 – mnosefish

回答

1

git的清洁-d -n

添加-x标志的清洁,去除未跟踪文件以及

-x

不要使用从.gitignore(每个目录)和$ GIT_DIR/info/exclude中读取的标准忽略规则,但仍使用-e选项给出的忽略规则。这允许删除所有未跟踪的文件,包括构建产品。

这可以使用(可能与git reset结合)来创建一个原始的工作目录来测试一个干净的构建。

+0

是否有任何理由在Win和* nix/OSX上表现不同?我在非Windows机器上尝试过,它的行为和预期的一样。 – mnosefish

+0

Git不关心在哪个操作系统上运行,它同样,GIT基本上是基于unix的:-) – CodeWizard

+0

我认为这应该是这种情况。尽管如此,我的Linux机器和我的MacBook都按预期运行,而我的Windows机器继续给我带来麻烦,即使在新的克隆之后。奇怪。不管怎样,谢谢。 – mnosefish