`git rm --cached` 和 `git update-index --assume-unchanged` 之间的区别?
Difference between `git rm --cached` and `git update-index --assume-unchanged`?
我不明白 git rm --cached
和 git update-index --assume-unchanged
之间的区别。
我知道 git rm --cached <file>
将从暂存区中删除一个文件。
而且,我知道 git update-index --assume-unchanged <file>
也这样做。
我还在 SO 上看到这两个命令都作为对类似问题的建议提供。
这两个命令是否有其他影响使它们不同?
命令
git rm --cached <file>
用于取消跟踪 Git b运行ch 中的文件。此命令将从暂存区中删除 file
并且 也 将在您下次提交时从存储库中删除该文件。
命令
git update-index --assume-unchanged <file>
也会使 file
从暂存区消失。但是,此命令不同,因为它告诉 Git 仅 暂时 忽略对 file
所做的任何更改。因此,当您提交文件时,假设它已经存在,它将保留为存储库的一部分。当您希望 Git 再次查看对 file
所做的更改时,您可以 运行 这样做:
git update-index --no-assume-unchanged <file>
如果您之前 运行 assume-unchanged
时它在暂存区,这将 return 文件到暂存区。
这是 git update-index --assume-unchanged
的 link for git rm --cached
, and here is a link。
我不明白 git rm --cached
和 git update-index --assume-unchanged
之间的区别。
我知道 git rm --cached <file>
将从暂存区中删除一个文件。
而且,我知道 git update-index --assume-unchanged <file>
也这样做。
我还在 SO 上看到这两个命令都作为对类似问题的建议提供。
这两个命令是否有其他影响使它们不同?
命令
git rm --cached <file>
用于取消跟踪 Git b运行ch 中的文件。此命令将从暂存区中删除 file
并且 也 将在您下次提交时从存储库中删除该文件。
命令
git update-index --assume-unchanged <file>
也会使 file
从暂存区消失。但是,此命令不同,因为它告诉 Git 仅 暂时 忽略对 file
所做的任何更改。因此,当您提交文件时,假设它已经存在,它将保留为存储库的一部分。当您希望 Git 再次查看对 file
所做的更改时,您可以 运行 这样做:
git update-index --no-assume-unchanged <file>
如果您之前 运行 assume-unchanged
时它在暂存区,这将 return 文件到暂存区。
这是 git update-index --assume-unchanged
的 link for git rm --cached
, and here is a link。