要求在文件夹中创建分支
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
当多个人员在一个存储库中协作时,分支的数量和名称可能很快就会失去控制。
分层分支文件夹是驯服混沌的有效方法。
Azure DevOps Services、TFS 和 Visual Studio 将 /
视为文件夹分隔符,默认情况下会自动折叠文件夹。
这样,就不必遍历每个分支即可找到要查找的分支。
你也不必依靠每个人来弄清楚。
Azure Repos 和 TFS 可以强制正确使用分支文件夹。
规划
确定要允许的文件夹结构。 例如,我们将存储库设置为强制实施以下规则:
- 只有
main
可以存在于存储库根目录中。 - 允许所有用户在
feature/
和users/
文件夹下创建分支。 - 管理员将能够在
release/
文件夹下创建分支。
注意
有关分支命名策略的更多示例和信息,请参阅采用 Git 分支策略。
准备工作
- 你将需要 Team Foundation 版本控制命令(
tf.exe
)。 - 需要帐户或集合的 URL、项目名称和存储库的名称。 对于本示例,我们将使用
https://fabrikam-fiber.visualstudio.com
、FabrikamProject
和FabrikamRepo
。
强制实施权限
在开发人员命令提示中,在“启动”>“Visual Studio”>“开发人员命令提示”下运行以下命令。 每个命令前面都有关于它正在执行的操作的说明。 如果未缓存个人访问令牌(例如,通过登录到 Azure DevOps Services Web 门户),系统将提示你登录。
首先,在存储库根目录下阻止项目参与者的“创建分支”权限。
tf git permission /deny:CreateBranch /group:[FabrikamProject]\Contributors /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo
然后,允许参与者在 feature
和 users
下创建分支。
tf git permission /allow:CreateBranch /group:[FabrikamProject]\Contributors /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo /branch:feature
tf git permission /allow:CreateBranch /group:[FabrikamProject]\Contributors /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo /branch:users
允许管理员在 release
下创建分支。
tf git permission /allow:CreateBranch /group:"[FabrikamProject]\Project Administrators" /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo /branch:release
最后,允许管理员创建名为 main
的分支,以防将其意外删除。
tf git permission /allow:CreateBranch /group:"[FabrikamProject]\Project Administrators" /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo /branch:main
注意
有关详细信息,请参阅 tf git 权限。 还可以通过运行 tf git /?
和 tf git permission /?
从命令行访问这些命令的帮助。
重命名旧分支
在 Web 上打开存储库,然后选择“分支”视图。
找到现有分支。 如果找不到,可能需要查看“全部”选项卡。
选择其上下文菜单(
...
按钮),然后选择“新建分支”。键入分支的新名称,例如“users/frank/readme-fix”。 选择“创建分支”。
选择旧分支名称旁边的红色垃圾桶图标以将其删除。
注意
你设置的任何自定义权限或分支策略都不会被迁移。