关于github:暂时从git获取Untrack文件

Untrack files from git temporarily

我在我的机器上设置了一个本地Git。当我初始化git时,我添加了预编译的libs和二进制文件。但是,现在在我的开发过程中,我不想间歇地检入那些文件。我不想从repo中删除这些文件。在我完成开发之前,有没有办法不跟踪这些文件呢?(我想我不能使用.gitignore,因为它只适用于那些不在git中的文件。我想暂时禁用文件跟踪。)


Git更新索引应该做你想做的。

这将告诉Git您要开始忽略对文件的更改git update-index --assume-unchanged path/to/file

当你想重新开始追踪的时候江户十一〔一〕号

GitHub文档:更新索引


以后你可以不跟踪你的文件

1
git rm -r --cached <file>

添加文件时

1
git add -u

他们推或做你想做的事。


1
git rm --cached

但是,首先不应该提交已编译的二进制文件和外部依赖项。用像邦德勒这样的工具把它们拉进去。


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

1
git rm --cached <file path>


Git的书在第2.4节"撤销事情"中提到了这一点。基本上,您需要做的是将一些文件的索引状态重置回head状态,即最新签出(或提交)的状态。这将撤消将文件转移到当前索引的操作。此任务的命令是git reset〔1〕。

因此,您必须执行的命令是:

1
git reset HEAD /path/to/file

在执行git status时,较新版本的git(我相信从1.6左右开始)提供了这个命令(以及更多)。这些版本非常用户友好。个人提示:如果您只准备几个文件,请使用git add -i。这将启动交互式登台工具,使事情特别容易。另外,我强烈推荐阅读这本书,因为它非常明确地说明了在实际情况下使用Git。

[1]http://www.git-scm.com/book/本


我假设您在询问如何删除build文件夹或bin文件夹中的所有文件,而不是分别选择每个文件。

您可以使用以下命令:

git rm -r -f /build\*

确保您在构建目录的父目录中。
这个命令将递归地"删除"bin/或build/文件夹中的所有文件。删除这个词的意思是Git会假装那些文件被"删除",而这些文件不会被跟踪。git确实将这些文件标记为处于删除模式。

确保您的.gitignore已准备好迎接即将到来的提交。
文件:Git Rm


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

查看您所做的更改(知道哪些文件标记为--假定不变)

1
git ls-files -v

结果文件列表的前缀为一个字符(例如:h或h)如果是小写(即h),则文件被标记为--假定不变


这对我有用

git reset head"文件名"


Git重置[文件]

将文件从临时区域返回到工作目录

我经常忘记将节点模块添加到.gitignore文件中,这就解决了这个问题。


删除所有未跟踪的文件。请尝试此终端命令

1
 git clear -fdx


要删除未跟踪的文件和文件夹,请设置git clean-fdx