在您切换分支之前,提交您的更改或保存它们。
错误:结帐将删除下列未跟踪的工作树文件: .c9/元数据/表1 .c9/元数据/表11 .c9/元数据/表12 .c9/元数据/表17 .c9/元数据/表格18 .c9/元数据/表格23 .c9/元数据/表格24 .c9/元数据/表格25 .c9/元数据/表格26 .c9/元数据/表格27 .c9/元数据/表格28 .c9/元数据/表格29 .c9/元数据/表格30 .c9/元数据/表格31 .c9/元数据/表格33 .c9/元数据/表5 .c9/元数据/表6 .c9/元数据/表8 .c9/元数据/表9 .c9/元数据/工作区/README.md .c9/metadata/workspace/app/controllers/application_controller.rb .c9/metadata/workspace/app/controllers/candy_pages_controller.rb .c9/metadata/workspace/app/views/candy_pages/butterfinger.html.erb .c9/metadata/workspace/app/views/candy_pages/home.html.erb .c9/metadata/workspace/app/views/candy_pages/reeses.html.erb .c9/metadata/workspace/app/views/candy_pages/skittles.html.erb .c9/metadata/workspace/app/views/candy_pages/snickers.html.erb .c9/metadata/workspace/app/views/layouts/application.html.erb .c9/元数据/工作区/config/routeres.rb .c9/metadata/workspace/test/controllers/candy_pages_controller_test.rb
我怎么处理掉这些?我增加了
#Ignore all .c9 specific files
/.c9/
到我的.gitignore
,但这对git已经跟踪的内容没有任何帮助。
我做了一个
$ git rm --cached .c9/ -r
但当我试图回到我的主人身边
$ git checkout master
我无法继续,因为未跟踪的工作树files...can,有人帮助我吗?
发布于 2015-04-12 06:03:24
我认为问题是,这些文件已经在以前的提交中提交了,这些文件现在已经是master的一部分了。
如果是这样的话,执行git log .c9/
也会显示提交。要解决这个问题,只需使用rm -rf .c9/
手动删除一次文件。如果您希望保留这些文件,请将.c9
文件夹重命名为其他文件(mv .c9 .c9.bkp
)。如果您现在执行git status
,有两种可能,要么在.c9
目录中不再显示文件,要么有一些文件是经过修改的。在后一种情况下,只执行一个git checkout .c9
来重新生成那些正在被git跟踪的文件。
现在做一个git pull origin master
,拔出最新的主分支。一旦这些更改被拉进来,请执行
git rm -r --cached .c9/
echo ".c9*" >> .gitignore
git add .gitignore && git commit -m "Removing .c9 metadata files"
现在,使用以下方法将这些更改推回主分支
git push origin master
在处理任何其他分支时,首先将它们重新定位(使用git rebase origin/master
),这样在另一个分支中提交的任何.c9
文件都不会重新进入主服务器。
现在,如果需要的话,可以使用.c9
从备份中恢复mv .c9.bkp .c9
文件夹。
https://stackoverflow.com/questions/29585860
复制相似问题