我们有这样一种情况,我们使用git来隐藏无数的扫描(图像),并且不希望在本地机器上保存它们;然而,git将每个本地删除(遵循此过程)视为要提交到repo,我们不希望发生这种情况。关于如何只提交额外的文件而不删除文件,有什么建议吗?
发布于 2013-10-10 10:57:35
使用Skip-Worktree位
git-update-index(1)命令提供了一些处理此问题的方法。基于这样的假设,您希望在从工作树中删除blobs时将其保留在历史记录中,您可以使用以下方法:
git add --all
git commit --message="Add new assets to repository."
git update-index update-index --skip-worktree <files ...>
rm <files ...>请注意,最后一行不是Git命令,因为在将文件存储到索引之后,您将从shell的工作树中删除这些文件。不要错误地使用git rm,因为它对索引进行操作。
列出特殊的Bits和仅索引文件
要查看使用跳过工作树标记的文件,请执行以下操作:
git ls-files -v | awk -v IGNORECASE=1 '$1 ~ /s/ {print}'您还可以使用git-ls-files(1)在索引中查找已从工作树中删除的文件。
https://stackoverflow.com/questions/19225182
复制相似问题