【问题标题】:Can Git use exclusive checkout?Git可以使用独占结账吗?
【发布时间】:2021-08-05 12:28:00
【问题描述】:

我想说服我的团队负责人从 TFVC 切换到 Git,但主要的绊脚石是独家结帐(他喜欢这个无用的功能),是否有可能使用 Git 和 Azure DevOps 拥有这种机制?

我买了一台Mac,只要他们用TFVC我就不能用????

【问题讨论】:

  • 也许我在这里有点离群,但搜索 TFVC 独家结帐似乎并没有给出任何相关结果。如果你在这里解释了这意味着什么,这个问题会更容易回答。
  • @Kraigolas 它基本上是在检出一个带锁的文件,以防止其他人同时检出它。
  • 我想知道你为什么说“不能使用它”,因为在 macOS 上可以通过多种方式(解决方法)连接到 TFVC,docs.microsoft.com/en-us/visualstudio/mac/…
  • 老实说,您可以设置挂钩(这可能不是最简单的方法)来阻止人们将更改推送到您想要保留为锁定的文件。话虽如此,我个人认为没有任何理由这样做。如果您不希望其他开发人员处理文件,请告诉他们不要这样做。或者如果他们尝试提交,则阻止对所述文件的更改。 Git 是分布式的,所以说两个人不能同时签出一个文件是没有意义的。每个人都可以访问所有文件,由主分支的维护者决定合并到什么。
  • 在我看来你不明白 git 是集中式 VCS 和分布式 VCS 之间的区别。

标签: git tfs azure-devops tfvc azure-repos


【解决方案1】:

简短回答:不,由于 git 的分布式特性,git 中没有排他性结帐。

长答案:您可以使用其他一些机制在 git 中实现相同的工作流程。您的解决方案将取决于您将使用的 git 服务器软件。 Gitlab 支持文件锁定。据我所知,Bitbucket 不支持直接文件锁定,但您可以设置权限来锁定分支,并且只允许通过拉取请求进行合并。这实现了与文件锁定相同(甚至更多)的效果。

【讨论】:

  • 我们使用 Azure DevOps Server,但我在阅读文档时看不到这样的选项
  • 我看到你用azure-devops标记了这个问题。也许添加到问题中以明确声明您正在使用 Azure DevOps,并询问如何在那里实现它?
  • 我在您的问题中添加了azure-repos,因为这似乎是 DevOps 的版本控制部分。
猜你喜欢
  • 2015-09-29
  • 1970-01-01
  • 2011-05-08
  • 2020-12-10
  • 1970-01-01
  • 1970-01-01
  • 2017-04-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多