Git和Visual Studio / SSDT项目文件夹

时间:2018-05-03 20:36:30

标签: git visual-studio sql-server-data-tools

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

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

我需要在FeatureA上工作,所以我为FeatureA和checkout FeatureA创建了一个分支。 FeatureA将对Rpt1.rdl进行更改。 我首先创建一个新的VS项目,并将其命名为FeatureA,创建目录C:\ MRepo \ FeatureA。因为我正在修改Rpt1.rdl I"添加现有的"并指向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项目来与功能对齐,因为每个项目都使用项目名称创建自己的目录,我需要弄清楚多个项目如何共享同一个源目录。

2 个答案:

答案 0 :(得分:1)

您好@bartl请不要将文件夹/目录与git分支混淆。 它完全不同的工作流程。

您可以将分支视为不同的功能;从主工作创建功能分支,在该功能分支上进行提交(这很重要,否则你将把这个功能带到其他分支上并使事情变得更糟)。

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

这里需要注意的一点是,当你移动到其他分支/ feature_brances时,代码结构可能会根据功能而改变。

此外,关于#include <QGuiApplication> #include <QQmlApplicationEngine> #include <QQmlProperty> #include <QStandardItemModel> int main(int argc, char *argv[]) { QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QGuiApplication app(argc, argv); QQmlApplicationEngine engine; engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); if (engine.rootObjects().isEmpty()) return -1; QStandardItemModel model; for (int i=0; i<100; i++) { QStandardItem* item = new QStandardItem(QString("%1").arg(i,2,10,QChar('0'))); model.appendRow(item); } QObject *obj = engine.rootObjects().first()->findChild<QObject *>("gv"); QQmlProperty::write(obj, "model", QVariant::fromValue(&model)); return app.exec(); } ,仅当您尚未在根项目中的多个目录/子目录中初始化git repo时,它才应出现在主项目根目录中。

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

快乐的编码。

答案 1 :(得分:0)

你不应该&#39;创建一个文件夹FeatureA。只需编辑src文件夹中的报告文件即可。当时机成熟时,Git将能够将更改合并回主分支。