检测/阻止对git中文件的有害更改

时间:2019-02-01 12:02:45

标签: git

Git提供了很多工具来管理更改,进行更改,还原,移动更改,合并等等。是否有一种方法可以防止重要文件的无意更改(或更实际的是,检测到文件偏离了设置的“所需”状态,因此我可以提出来进行审查)?不一定是直接的git功能,而是可能是它们的组合,还是可以使用的通用策略?

1 个答案:

答案 0 :(得分:0)

在GIT中的功能,实现这一点是钩。

您可以使用本地钩来检查提交时不必要的变化。这是接近理想的时机,你可以得到 - 检测到问题,更少的工作是建立在问题的顶部,所以较少的成本来修复它越早

但是,你不能强迫用户在他们的克隆运行挂钩。 (这不是错误;在git的一般用例中,陌生人可能会克隆您的存储库,这会导致他们运行您选择的任意代码,这将是一个安全问题。)

您可以提供钩子脚本,甚至可以提供他们可以选择运行以安装钩子的脚本。除此之外,你唯一可以做的事情是鼓励脚本的使用。

执行此操作的主要方法是将检查也放在服务器端的预接收挂钩中,这样将拒绝违反规则的推送。现在,用户有动机来执行commit挂钩,使他们能够捕捉并解决这一问题尽早,因为直到它处理了,他们不能分享他们的工作。