Папки проекта Git и Visual Studio / SSDT - PullRequest
0 голосов
/ 03 мая 2018

Впервые в Git, поэтому пытаюсь понять, как заставить VS работать с Git. VS создает каталог для каждого создаваемого вами проекта, а затем помещает вновь созданные объекты в этот каталог. При добавлении существующего объекта в проект VS копирует его в каталог проекта. Похоже, Git никогда не сможет управлять вашими исходными файлами, потому что VS создает копии.

Ex. Структура каталогов - 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, я «добавляю существующее» и указываю на Rpt1.rdl. В результате копия помещается в C: \ MRepo \ FeatureA. Теперь у меня есть C: \ MRepo \ Rpt1.rdl и C: \ MRepo \ FeatureA \ Rpt1.rdl

Это не кажется идеальным, с Git, я думаю, нам нужен один исходный файл, и он сохранит отдельные созданные изменения. В ветке мы ожидаем увидеть соответствующие изменения, которые были сделаны в ветке, т.е. когда ветка FeatureA извлечена, мы должны видеть только изменения, сделанные в пределах ветви FeatureA.

Может кто-нибудь пролить свет на это? Очень нравится использовать Git для управления исходным кодом, а затем надеяться на разработку рабочего процесса, включающего процесс выпуска.

Обновление: спасибо за ответы, это заставило меня переосмыслить мою линию вопросов. Я понял, что моя проблема была в том, как использовать проекты VS, когда они находятся под контролем исходного кода Git. После создания простого примера с одним проектом, файлом отчета и внесением изменений я создал ветку «FeatureA». Переключение на FeatureA и изменение файла отчета я затем зафиксировал. Переключение между FeatureA и Master файла отчета правильно отражало изменения или отсутствие. В прошлом я использовал различные проекты VS для выравнивания функций, так как каждый проект создает свой собственный каталог, используя имя проекта, мне нужно выяснить, как несколько проектов могут использовать один и тот же исходный каталог.

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

Привет @bartl, пожалуйста, не путай папки / каталоги с ветками git. У него совершенно другой рабочий процесс.

Вы можете думать о ветвях как о различных функциях; создайте ветку элементов из основной работы над ней сделайте коммит ( это важно, иначе вы перенесете эту функцию на другие ветви и ухудшите положение ) в этой ветви функций.

После того, как вы сделали коммит для этой конкретной функции, вы можете перейти к любой ветви и повторить описанные выше шаги для других функций.

Здесь следует обратить внимание на то, как и когда вы переходите к другим веткам / feature_brances, структура кода может меняться в зависимости от функции.

Кроме того, что касается .git, он должен присутствовать в корневом каталоге основного проекта, только если вы не инициализировали git repo в нескольких каталогах / подкаталогах в корневом проекте.

Я рекомендую вам пройти это очень интерактивное учебное пособие, чтобы понять основы git перед тем, как его использовать, чтобы вы начали пользоваться GIT.

Удачного кодирования.

0 голосов
/ 03 мая 2018

Не следует создавать папку FeatureA. Просто отредактируйте файлы отчетов на месте в папке src. Git сможет объединить изменения обратно в основную ветку, когда придет время.

...