Azure devops Azure DevOps在不访问代码的情况下查看历史记录的权限

Azure devops Azure DevOps在不访问代码的情况下查看历史记录的权限,azure-devops,Azure Devops,是否可以向用户提供查看项目历史记录的权限,而不授予该用户对代码的访问权限?正如评论所述,在Azure DevOps中无法做到这一点 Git使用存储在每个提交中的父引用信息来管理开发的完整历史记录。查看此提交历史记录可以找出文件更改的时间,并确定代码版本之间的差异 如果有人能看到回购历史,他们也能看到源代码 作为一种解决方法,您可以尝试导出提交的历史信息,然后将它们提供给QA用户,而QA用户无权访问您的代码 在解决方案的.git子目录中启动MS-DOS命令行 发出命令:git log--pret

是否可以向用户提供查看项目历史记录的权限,而不授予该用户对代码的访问权限?

正如评论所述,在Azure DevOps中无法做到这一点

Git使用存储在每个提交中的父引用信息来管理开发的完整历史记录。查看此提交历史记录可以找出文件更改的时间,并确定代码版本之间的差异

如果有人能看到回购历史,他们也能看到源代码

作为一种解决方法,您可以尝试导出提交的历史信息,然后将它们提供给QA用户,而QA用户无权访问您的代码

  • 在解决方案的.git子目录中启动MS-DOS命令行
  • 发出命令:
    git log--pretty=格式:%h,%an,%aD,%s>/GitLog.csv
  • 等待
    GitLog.csv
    文件出现并在电子表格程序中打开
格式选项含义:

  • %h
    =提交哈希
  • %an
    =作者姓名
  • %aD
    =提交日期
  • %s
    =主题(提交注释)

更多详细信息请看这个问题:

如果这可以通过C#使用gitsharp或类似的加密凭据来完成,我相信这里的每个人都可以接受。你说的“项目历史”是什么意思?我的意思是通常在Repos->Files->history中看到的提交消息能够审核历史意味着可以访问源代码。如果看不到源代码,那么审计的到底是什么?你能解释一下你的情况吗?值得一提的是,你的问题的底线答案是“不”。如果有人能看到回购历史,他们可以看到源代码。我不认为你会发现一个Git托管平台会有其他的表现。这正是我所要做的,只需对工作流程做一些小的更改,就能完全满足他们的需求。