【问题标题】:ASP.NET MVC TFS BranchingASP.NET MVC TFS 分支
【发布时间】:2017-12-12 13:35:15
【问题描述】:

我已经阅读了几篇关于 SVC 的分支和合并功能以及在 TFS 中创建分支的文章,按照这些步骤,我创建了分支以对 ASP.NET MVC 应用程序的一项功能进行重大更改, 成功创建分支后,从应用程序中排除的分支文件(新文件),尝试在项目中包含文件将产生重复签名错误。 所以我必须对原始文件(分支前可用的文件)进行更改,现在我不知道分支的实际目的。

如果我需要处理现有文件,为什么需要创建分支?

如何在 TFS 版本控制中设置和配置分支操作?

它真的有什么帮助?

编辑:

Attached image 我创建了一个分支@控制器文件夹(源代码管理资源管理器),成功创建分支后,我在一个控制器中找到了两个目录,另一个控制器分支(默认情况下不包括在项目中)。现在我需要在哪组文件中工作?

当我在“控制器”文件集中工作时,这些更改会推回给其他开发人员,因此我看不到那里有任何环境隔离。

如果我需要在“控制器分支”中工作,为什么它会被排除在项目之外?当我尝试在项目中包含“Controllers-branch”时,代码定义、类名重复(即这些定义与“Controllers”文件夹的内容冲突)

【问题讨论】:

  • 你的意思是在 web 上通过 TFS 创建分支还是使用 VS 源代码管理资源管理器?它不能直接在 TFS 上创建 TFVC 分支。你能显示你关注的链接吗?此外,本文还展示了 TFVC 分支visualstudio.com/en-us/docs/tfvc/branch-folders-files 的方式和目的。
  • 如何创建分支?通常,分支不会导致错误。
  • 创建新分支后尝试比较它们。
  • @Marina-MSFT 我已经通过该链接并按照相同的说明创建分支;在我推断分支的方式是源代码文件的复制版本。这个说法对吗?
  • @ashok19r91d 是的,按照文档创建分支后,您需要选择选项添加文件到源代码管理。有两种方法可以将新创建​​的文件添加到源代码管理:1. 在创建新的解决方案/项目时,选择添加到源代码管理。 2.如果你已经创建了文件,在VS中->源代码管理资源管理器->选择tfvc repo->右键单击->将新项目添加到文件夹->选择刚刚创建的文件- > 入住。更多详情,您可以参考visualstudio.com/en-us/docs/tfvc/add-files-server

标签: tfs azure-devops branching-and-merging tfvc


【解决方案1】:

为什么会有ControllersControllers-branch两个分支:

这是因为当您基于Controllers文件夹创建分支(分支合并->分支)时,您还选择了立即将源文件夹转换为分支(启用可视化),这将转换@ 987654328@ 文件夹到分支。

因此,根据您的需要,您应该将Controllers 分支转换为文件夹(右键单击控制器分支-> 分支和合并-> 转换为文件夹)。

为什么 Controllers-branch 与您的项目隔离:

因为Controllers-branch是一个分支,TFVC分支可以实现这些目标:

• 管理同一代码库上多个团队的并发工作

• 隔离由不同组更改引入的风险 代码库

• 拍摄快照,然后支持后续隔离 更改(例如,创建发布分支)

所以它应该是独立的。如果您的工作不仅是更新Controllers文件夹中的文件,还需要修改整个项目的文件,您应该从ApplicationMain文件夹a创建一个分支,确保立即将源文件夹转换为分支(启用可视化) 未选中。然后您可以与其他开发人员同时处理ApplicationMain-branch

【讨论】:

  • 所以在将 Controllers 分支转换为文件夹后,我可以开始处理 Controllers 文件夹中的文件,这些更改将与其他团队成员隔离工作对吗?但我不这么认为,因为在签入期间,这些文件将在服务器中进行版本控制并交付给从服务器拉(递归 GET)变更集的其他成员;而且我在这里看不到任何孤立。
  • 不,将Controllers分支转换为文件夹后,它仍然是项目的一部分,你应该在Controllers-branch上工作,它与其他成员是隔离的。
  • 但是文件被排除在项目之外,因此没有 Intelisense 有助于编写代码;即使我无法通过执行应用程序来测试代码。
  • 所以你应该从父文件夹ApplicationMain创建一个分支,然后在ApplicationMain-branch上工作,然后你可以同时编写代码和测试你的代码。
  • 实际上我需要复制我的项目(以分支的名义),在完成修复和测试用例之后,我可以合并回原始文件夹。此外,创建ApplicationMain-Branch 也等同于Controllers-Branch,即该文件也从项目中排除,同样的情况也随之而来。我的根本问题很简单!我无法弄清楚在哪里分支 (即使知道如何分支,分支如何工作)
猜你喜欢
  • 2010-11-13
  • 2014-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-30
  • 2012-10-16
  • 2017-10-17
  • 2012-12-02
相关资源
最近更新 更多