我已经在我的机器上设置了一个本地git。初始化git时,我添加了预编译的库和二进制文件。然而,现在在我的开发过程中,我不想间歇性地签入这些文件。我不想从回购中删除这些文件。是否有任何方法不跟踪这些文件,直到我完成我的开发。(我想我不能使用.gitignore,因为它只适用于那些不在git中的文件。我想暂时禁用文件跟踪。)
当前回答
我假设您正在询问如何删除构建文件夹或bin文件夹中的所有文件,而不是分别选择每个文件。
您可以使用该命令: Git rm -r -f /build\* 确保您在构建目录的父目录中。 这个命令将递归地“删除”bin/或build/文件夹中的所有文件。我的意思是git会假装那些文件被“删除”了,并且这些文件不会被跟踪。git实际上将这些文件标记为删除模式。
请确保为即将提交的.gitignore准备好了。 文档:git rm
其他回答
你可以让你的文件不被追踪
git rm -r --cached <file>
使用
git add -u
他们会推你或者做任何你想做的事。
不是对最初问题的回答。但这可能会帮助到某些人。
要查看您所做的更改(知道哪些文件被标记为——assume-unchanged)
git ls-files -v
结果文件列表将有一个字符前缀(例如:H或H) 如果它是小写的(即h),那么文件被标记为——assume-unchanged
Git update-index应该做你想做的事情
这将告诉git您想开始忽略对文件的更改 Git update-index——assume-unchanged path/to/file
当你想重新开始记录的时候 Git update-index——no-assume-unchanged path/to/file
Github文档:update-index
我假设您正在询问如何删除构建文件夹或bin文件夹中的所有文件,而不是分别选择每个文件。
您可以使用该命令: Git rm -r -f /build\* 确保您在构建目录的父目录中。 这个命令将递归地“删除”bin/或build/文件夹中的所有文件。我的意思是git会假装那些文件被“删除”了,并且这些文件不会被跟踪。git实际上将这些文件标记为删除模式。
请确保为即将提交的.gitignore准备好了。 文档:git rm
git rm --cached
但是,您不应该首先提交已编译的二进制文件和外部依赖项。使用像Bundler这样的工具来把它们拉进来。
推荐文章
- 当我试图推到原点时,为什么Git告诉我“没有这样的远程‘原点’”?
- 在GitHub repo上显示Jenkins构建的当前状态
- 如何从远程分支中挑选?
- 如何查看一个分支中的哪些提交不在另一个分支中?
- 如何取消在github上的拉请求?
- HEAD和master的区别
- GIT克隆在windows中跨本地文件系统回购
- RPC失败;卷度传输已关闭,剩余未完成的读取数据
- 我应该在.gitignore文件中添加Django迁移文件吗?
- 错误:您对以下文件的本地更改将被签出覆盖
- Git rebase—即使所有合并冲突都已解决,仍然会继续报错
- 在Git中,我如何知道我的当前版本是什么?
- 跟踪所有远程git分支作为本地分支
- 自定义SSH端口上的Git
- git如何显示不存在于.gitignore中的未跟踪文件