我最近从Github转到了Azure-devops git。 我发现有时我提交的名称和电子邮件与我登录时使用的名称和电子邮件不同。
我figured that this is because of my local git configurations, and was able to fix it。
我想知道是否有办法防止它发生。 即-仅在电子邮件和用户名与用于登录的电子邮件和用户名相同时批准提交。
答案 0 :(得分:1)
由于Git具有分布式特性,因此用户拉入另一个人所做的更改然后将其推入自己的git存储库中并不少见。本质上,这就是拉取请求的作用。
因此,无论是Git还是Azure DevOps Repos都不知道您是否故意推送具有不同名称和电子邮件地址的提交。
这也是Azure DevOps Reps跟踪“推送程序”和“提交程序”的原因。如果查看存储库中的Push,则将看到每次将新的提交推送到存储库时,Azure DevOps Repos都会跟踪谁执行了该推送以及其中包含哪些提交。
如果要确保不要使用错误的电子邮件地址/名称创建新的提交,那么最好的选择是添加一个本地的pre-commit-hook。 You can find an example here。这些挂钩甚至可以在提交提交之前在本地存储库上运行。
另一种选择是在要转到的分支上设置策略,并作为该策略的一部分运行快速CI构建。在其中,您可以检查是否存在不需要的名称,并导致拉取请求失败。
答案 1 :(得分:1)
这些天,您可以通过一项政策来执行此操作,无论如何还是要发送电子邮件。
转到存储库,设置“提交作者电子邮件验证”。您可以指定通配符。
https://mattvsts.github.io/2019/11/13/did-you-know-branch-policies/