我在机器上设置了本地git。 初始化git时,我添加了预编译的库和二进制文件。 可是,如今在开发过程当中,我不想间歇性地检入那些文件。 我不想从仓库中删除这些文件。 在我完成开发以前,是否有任何方法能够不跟踪这些文件。 (我认为我不能使用.gitignore,由于它仅适用于不在git中的那些文件。我想暂时禁用对文件的跟踪。) git
git书在第2.4节“作事”中提到了这一点。 基本上,您要作的就是将某些文件的索引状态重置为HEAD状态,即最新签出(或提交)的状态。 撤消将文件暂存到当前索引。 此任务的命令是git reset
。[1]。 工具
所以,您必须执行的命令是: ui
git reset HEAD /path/to/file
在执行git status
时,较新版本的git(我相信从1.6左右开始)会将此命令(以及更多内容)做为提示。 这些版本很是用户友好。 我的提示:若是您仅暂存几个文件,请使用git add -i
。 这将启动交互式登台工具,使事情变得特别容易。 另外,我强烈建议您阅读本书,由于这在实际状况中很是明确地介绍了git的用法。 spa
[1] http://www.git-scm.com/book code
我假设你是问如何删除全部文件在生成文件夹或bin文件夹,而不是分别选择每一个文件。 递归
您可使用如下命令:
git rm -r -f /build\\*
确保您位于构建目录的父目录中。
该命令将递归“删除” bin /或build /文件夹中的全部文件。 用删除一词来表示git会伪装那些文件被“删除”,而这些文件将不会被跟踪。 git确实将这些文件标记为处于删除模式。 索引
确保确保您的.gitignore准备好即将进行的提交。
文档:git rm 开发
您能够在之后保持文件未跟踪 文档
git rm -r --cached <file>
使用添加文件 get
git add -u
他们推进或作你想作的任何事情。
不是原始问题的答案。 但这可能会帮助某人。
要查看您所作的更改( 知道哪些文件被标记为--assume-unchanged )
git ls-files -v
结果文件列表的前缀将带有一个字符(例如:H或h),若是是小写字母(即h),则文件标记为--assume-unchanged
使用如下命令取消跟踪文件
git rm --cached <file path>