首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用源代码管理时,如何对源代码不同部分的用户组具有不同的权限?

在使用源代码管理时,如何对源代码不同部分的用户组具有不同的权限?
EN

Stack Overflow用户
提问于 2021-02-05 21:10:20
回答 2查看 167关注 0票数 2

我在应用源代码管理方面有问题。我试了很多东西,但我想不出来。在使用源代码管理时,我希望能够对源代码不同部分的用户组具有不同的权限。

过去,我们有一个包含整个(Visual )解决方案和所有项目的大型存储库。但是这一次我们需要能够管理源代码的不同部分(每个项目)的权限。这对于保护知识产权的某些部分很重要。

为了对背景提供一点说明:

  • 我们在Visual (VS)中开发代码(主要是C#和C++)。我们结合使用Azure-DevOpsgit存储库。
  • 我有一个(VS)解决方案,它由许多(20+)项目(project1,project2,.)组成。
  • 这些项目中的大多数并不是单独运行的(或者这样做没有意义)。
  • 您可以考虑这些项目,例如库、(可选)模块/插件。
  • 每个项目都需要不同的特定领域知识来开发。
  • 对于某些测试,我们需要在一个大的解决方案中提供所有的代码,这样我们就可以调试和设置断点。

我试过什么:

很多事情,但最接近可行的解决方案是:

  • 我为每个项目创建了一个单独的存储库。那么,我确实可以很好地管理每个用户的权限。
  • 我为解决方案创建了一个存储库,让我们将这个存储库称为CombinedRepo
  • 将项目作为git-submodules添加到CombinedRepo中。

此设置工作时,拉动CombinedRepo包括.使用VS的子模块。我可以测试,调试和修改等。

但是,我对这个设置有以下问题:

  • 当我们在CombinedRepo中工作并更改其中一个子模块的代码并想提交这些更改时,我们会得到以下错误:fatal: unexpected sequence in commit output. (这是使用VS提交的时候)。
  • 相反,它也不起作用:如果在子模块的回购中进行了更改,我就不能将这些更改拖到我们的CombinedRepo (当使用VS时)。
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-08 02:22:30

Visual看到子模块文件夹中所做的更改,但未能提交它们。

要解决这个问题,请转到Team Manage Local存储库- Add,浏览到子模块文件夹并使用Add确认。双击为打开它而创建的本地存储库。

现在,您可以提交更改并将它们推送到远程源,就像在原始子模块存储库中所做的那样。

而不是再次打开包含子模块文件夹的本地存储库,转到更改并将它们提交到主模块中包含已更改的子模块状态。

以下是一些功能请求链接,您可以跟踪它们以获得最新消息。

此外,如果您只想限制用户或团队成员提交代码,我们可以设置支部政策并禁用分支权限推送时绕行政策。然后,所有用户都需要创建推送提交的拉请求,您可以检查提交并批准拉请求。

更新

我希望能够对源代码的不同部分的用户组具有不同的权限。

谢谢你和我分享。

如果我们使用TFVC,则可以为用户组配置文件夹/文件权限。看下面的照片。

票数 1
EN

Stack Overflow用户

发布于 2021-02-05 22:33:56

在子模块中进行更改时,必须切换到该子模块,才能成功提交更改。

(此信息取自https://jonasr.app/2020/04/vs-git-subm/)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66070616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档