暂时从git取消跟踪文件

我在机器上设置了本地git。 初始化git时,我添加了预编译的库和二进制文件。 可是,如今在开发过程当中,我不想间歇性地检入那些文件。 我不想从仓库中删除这些文件。 在我完成开发以前,是否有任何方法能够不跟踪这些文件。 (我认为我不能使用.gitignore,由于它仅适用于不在git中的那些文件。我想暂时禁用对文件的跟踪。) git


#1楼

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


#2楼

我假设你是问如何删除全部文件在生成文件夹或bin文件夹,而不是分别选择每一个文件。 递归

您可使用如下命令:

git rm -r -f /build\\*

确保您位于构建目录的父目录中。
该命令将递归“删除” bin /或build /文件夹中的全部文件。 用删除一词来表示git会伪装那些文件被“删除”,而这些文件将不会被跟踪。 git确实将这些文件标记为处于删除模式。 索引

确保确保您的.gitignore准备好即将进行的提交。
文档:git rm 开发


#3楼

您能够在之后保持文件未跟踪 文档

git rm -r --cached <file>

使用添加文件 get

git add -u

他们推进或作你想作的任何事情。


#4楼

不是原始问题的答案。 但这可能会帮助某人。

要查看您所作的更改( 知道哪些文件被标记为--assume-unchanged

git ls-files -v

结果文件列表的前缀将带有一个字符(例如:H或h),若是是小写字母(即h),则文件标记为--assume-unchanged


#5楼

使用如下命令取消跟踪文件

git rm --cached <file path>
相关文章
相关标签/搜索