我已经在我的机器上设置了一个本地git。初始化git时,我添加了预编译的库和二进制文件。然而,现在在我的开发过程中,我不想间歇性地签入这些文件。我不想从回购中删除这些文件。是否有任何方法不跟踪这些文件,直到我完成我的开发。(我想我不能使用.gitignore,因为它只适用于那些不在git中的文件。我想暂时禁用文件跟踪。)
当前回答
Run
git rm -r --cached file_to_git_ignore
那就去找你的gitignore档案 并添加path_to_file_to_git_ignore
祝你好运
其他回答
手册在2.4节中提到了这一点:“撤销事情”。基本上,您需要做的是将某些文件的索引状态重置为HEAD状态,即最近一次签出(或提交)时的状态。这将取消将文件暂存到当前索引。本任务的命令为git reset.[1]
所以,你要执行的命令是:
git reset HEAD /path/to/file
新版本的git(我相信从1.6左右开始)在执行git status时给出了这个命令(以及更多)作为提示。这些版本是非常用户友好的。一个个人建议:如果你只是暂存几个文件,使用git add -i。这将启动交互式登台工具,这使事情变得特别简单。此外,我强烈推荐阅读这本书,因为它非常明确地介绍了git在实际情况中的使用。
[1] http://www.git-scm.com/book
git rm --cached
但是,您不应该首先提交已编译的二进制文件和外部依赖项。使用像Bundler这样的工具来把它们拉进来。
使用以下命令取消跟踪文件
git rm --cached <file path>
我假设您正在询问如何删除构建文件夹或bin文件夹中的所有文件,而不是分别选择每个文件。
您可以使用该命令: Git rm -r -f /build\* 确保您在构建目录的父目录中。 这个命令将递归地“删除”bin/或build/文件夹中的所有文件。我的意思是git会假装那些文件被“删除”了,并且这些文件不会被跟踪。git实际上将这些文件标记为删除模式。
请确保为即将提交的.gitignore准备好了。 文档:git rm
Git update-index应该做你想做的事情
这将告诉git您想开始忽略对文件的更改 Git update-index——assume-unchanged path/to/file
当你想重新开始记录的时候 Git update-index——no-assume-unchanged path/to/file
Github文档:update-index
推荐文章
- 如何点Go模块的依赖在Go。Mod到回购中的最新提交?
- 乳胶渲染在README。md在Github上
- 为什么调用git分支——unset-upstream来修复?
- Windows git“警告:LF将被CRLF取代”,这是警告尾巴向后吗?
- git中的哈希冲突
- git可以自动在空格和制表符之间切换吗?
- Git暂存文件列表
- 在Markdown Jekyll中使用图像说明
- 如何将git配置存储为存储库的一部分?
- 如何修改GitHub拉请求?
- 如何在Github和本地删除最后n次提交?
- 我如何调试git/git-shell相关的问题?
- 错误:无法使用rebase进行拉取:您有未分阶段的更改
- Git隐藏未缓存:如何把所有未分期的变化?
- 如何将文件附加到GitHub问题?