git--假定未更改、git rm-r--缓存和--跳过工作树之间的区别

git--假定未更改、git rm-r--缓存和--跳过工作树之间的区别,git,gitignore,Git,Gitignore,这个问题很清楚。在哪种情况下我应该使用git——假设未更改,或者在什么情况下应该使用gitrm-r——缓存的 另外,——跳过工作树也增加了混乱 与.gitignore一起使用哪个更好 目标是防止配置文件被推送到github repo,因为在不同的部署机器上通常有不同的设置。因此,每台机器都有自己的配置文件。假定未更改 它假定开发人员不应该更改文件。这面旗是 旨在提高不更改SDK等文件夹的性能 这只是为了解决本地性能问题。如果Git能确定 这些文件会以一种更轻松的方式进行更改 本地设置:“假定未

这个问题很清楚。在哪种情况下我应该使用git——假设未更改,或者在什么情况下应该使用gitrm-r——缓存的

另外,——跳过工作树也增加了混乱

.gitignore一起使用哪个更好


目标是防止配置文件被推送到github repo,因为在不同的部署机器上通常有不同的设置。因此,每台机器都有自己的配置文件。

假定未更改

  • 它假定开发人员不应该更改文件。这面旗是 旨在提高不更改SDK等文件夹的性能
  • 这只是为了解决本地性能问题。如果Git能确定 这些文件会以一种更轻松的方式进行更改
  • 本地设置:“假定未更改”位存储在索引中, 而不是存储库本身。因此,获取/拉/推不会传播 将该设置发送到其他存储库或从其他存储库发送
  • 假设unchanged不应被滥用为忽略机制。它是 GIT不承诺Git总是认为这些路径是 未修改
rm-r——缓存

  • 从工作树和索引中删除文件

  • git rm--缓存从repo中删除文件,而不是从 本地文件系统(git rm)将从本地文件中删除该文件 系统)

跳过工作树

  • 当您指示git不要触碰特定对象时,跳过工作树非常有用 文件,因为开发人员应该更改它。例如,如果 主存储库上游承载一些生产就绪配置 并且您不希望意外地将更改提交到这些文件 文件,--跳过工作树正是您想要的。推荐职位 如此
与.gitignore一起使用哪个更好?

这要视情况而定。如果您已经在git中添加了配置文件,那么最好使用

gitrm-r——缓存

检查柱