Git 和 Visual Studio/SSDT 项目文件夹

Git and Visual Studio/SSDT project folders

Git 的新手,因此试图了解如何让 VS 与 Git 一起工作。 VS 为您创建的每个项目创建一个目录,然后将新创建的实体放入该目录中。 将现有实体添加到项目时,VS 将其复制到项目目录。 似乎 Git 永远无法管理您的源文件,因为 VS 正在创建副本。

例如。目录结构 - C:\MRepo,包括 .git 和 src 子目录。
src 包括 V1.0.0 Rpt1.rdl 和 Rpt2.rdl

我需要处理 FeatureA,因此我为 FeatureA 创建了一个分支并签出 FeatureA。 FeatureA 将对 Rpt1.rdl 进行更改。 我首先创建一个新的 VS 项目并将其命名为 FeatureA,创建目录 C:\MRepo\FeatureA。由于我正在修改 Rpt1.rdl 我 "add existing" 并指向 Rpt1.rdl。这导致副本被放置在 C:\MRepo\FeatureA 中。我现在有 C:\MRepo\Rpt1.rdl 和 C:\MRepo\FeatureA\Rpt1.rdl

这似乎并不理想,Git 我相信我们需要一个单一的源文件,它将保存创建的各个更改。在分支中,我们希望看到在分支中所做的相关更改,即 当 FeatureA 分支被签出时,我们应该只能看到在 FeatureA 分支内所做的修改。

任何人都可以阐明这一点吗?真的很喜欢利用 Git 进行源代码控制,然后最终希望开发一个包含发布过程的工作流。

更新:感谢您的回复,这让我重新考虑了我的提问方式。我意识到我的问题实际上是在 Git 源代码控制下如何使用 VS 项目。 在使用单个项目、报告文件和提交更改创建一个简单示例后,我创建了一个分支 "FeatureA"。切换到 FeatureA 并更改我随后提交的报告文件。在 FeatureA 和 Master 之间切换,报告文件正确反映了更改或缺少。 过去我曾使用各种 VS 项目来对齐功能,因为每个项目都使用项目名称创建自己的目录,我需要弄清楚多个项目如何共享相同的源目录。

您应该创建一个文件夹 FeatureA。只需编辑 src 文件夹中的报告文件。 Git 到时候可以将更改合并回 master 分支。

您好@bartl 请不要将 folders/directories 与 git 分支混淆。 它具有完全不同的工作流程。

您可以将分支视为不同的特征;从 master 工作创建功能分支 make commit(这很重要,否则你将把这个功能带到其他分支上,会使事情变得更糟) 在那个功能分支上。

提交该特定功能后,您可以自由移动到任何分支并对其他功能重复上述步骤。

这里要注意的一件事是当你移动到其他地方时 branches/feature_brances 代码结构可能会根据功能而改变。

此外,关于 .git,仅当您尚未在根项目中的多个 directories/subdirectories 处初始化 git 存储库时,它才应该出现在主项目根目录中。

我建议您在实际使用之前先阅读 this 非常互动的教程以了解 git 的基础知识,这样您就可以开始享受 GIT。

编码愉快。