2009-12-14 2 views
29

Извините за этот ужасный, ужасный вопрос ... но мне нечего использовать VSS.Использование Git с Visual Source Safe 6.0

Я хотел бы иметь возможность использовать Git локально для разработки ветвей и т. Д. При использовании Visual Source Safe 6. Мое знание всех входов и выходов Git ограничено на данный момент, так как я недавно конвертировать.

Вопрос:
То, что я хотел бы быть в состоянии сделать это работа в репозитории Git. Я хотел бы сделать это и получить все полезные свойства, которые это позволит с ветвлением и т. Д. В конце моего дня или в другие необходимые моменты я хотел бы получить любую работу, которую я делаю, и поместить ее в главный репозиторий, который я бы затем разместил в VSS.

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

Будучи тем, что я являюсь относительным новичком git, что может быть лучшим способом выполнить это ... наряду с лучшими командами для выпуска/способа установить это.

* note: Source Safe необходимо, чтобы файл был проверен, прежде чем могут быть сделаны изменения. Может быть, есть какой-нибудь инструмент/сценарий, который я могу использовать, чтобы помочь автоматизировать это для того, чтобы вносить изменения в VSS?

+1

Я знаю, что это воняет. Я просто ищу самый простой способ сделать это и сохранить хороший репозиторий Git, а также внести изменения в VSS через определенные промежутки времени. –

+7

+1. Я чувствую одну и ту же боль каждый день :(Почему на Земле был VSS когда-либо изобретен? – ereOn

+0

приятный вопрос +1, у меня такая же головная боль, как у вас все есть сейчас – cctan

ответ

8

Настройка, которую вы планируете, должна работать нормально. Для команд git просто проверьте учебники.

рабочий процесс, я использовал (а не с VSS, но концепция та же) что-то вроде:

  • Checkout от основной (т.е.VSS)
  • Держите один «ствол» ветвь, которая находится в синхронизации с VSS
    • всегда будет содержаться в чистоте
  • Развития в отраслях ответвляется от «ствола»
  • Обновления от VSS:
    • переключатель на «ствол»
    • обновление с VSS
    • мерзавец совершить изменения
    • перебазирования ветви, которые ответвляются от ствола
  • Чтобы подтолкнуть изменения в VSS:
    • нажимные изменения от ветви разработки к «стволу»
    • переключатель к «стволу»
    • VSS зафиксировать изменения
+2

Как мне обойти VSS, чтобы файлы были проверены так что он знает, что делать .. и, тем самым, те файлы, которые добавлены? –

+1

Хмм, вы правы, жесткие (я не думал о VSS специально). Вероятно, я бы написал сценарий, который смотрит на файлы изменены с момента последней синхронизации (изменено/добавлено/удалено) и соответствующим образом добавляет/проверяет/удаляет через интерфейс VSS командной строки. – orip

+0

Я думаю, что вы правы. Для этого «правильно» мне придется строить некоторые скрипты, чтобы позаботиться об этих вещах. Определенно, это будет вызов. –

2

Любой застрял с VSS может найти следующее сообщение полезно, если вам приходится иметь дело с филиалами:

http://timwise.blogspot.com/2011/11/multiple-working-folders-for-git-on.html

Это в основном деталями с помощью SysInternals' Junction получить символическую ссылку поддержки в Windows, а затем обмен GIT репозиторий между папками физических филиалов что VSS заставляет вас копировать файлы в папку .git и символически связывать папки.

А вот скрипты для автоматизации обмена

0

Я также пойманы в этом, как я сделать это, чтобы не иметь другие касаются моего VSS и все файлы проверяются все время, это означает, что никто другой не может внести свой вклад, поэтому это, естественно, не является жизнеспособным решением для всех. Решение, которое я хотел бы предложить, что вы:

  • Chekout от VSS
  • Создать ветку для работы на вашей функции
  • закончить работу над вашей функции
  • Переключить на мастер филиала
  • Update последнее VSS
    • Если какие-либо изменения внесены, переустановите свою ветку
  • Смотрите, какие файлы изменены с помощью $ git diff --name-status master..branchName (см Showing which files have changed between two revisions для источника этого)
  • ЗАКАНЧИВАТЬ измененные файлы с помощью VSS
  • Объединить свою ветку на мастер (желательно удалить вашу особенность ветвь)
  • Обязаться VSS

Некоторые из них вы могли бы написать свой путь, но поскольку вы, скорее всего, используете M $ (поскольку используете VSS), это не то, что я могу вам помочь.

Как работает VSS, я бы подумал, что было бы лучше свести к минимуму время, потраченное на файлы, извлеченные из VSS, и поэтому это лучший способ.

Обратите внимание, что могут возникнуть проблемы с обновлением файлов, поскольку VSS автоматически устанавливает флаг readonly в файлы, которые не были извлечены. Обходной путь может понадобиться здесь.

 Смежные вопросы

  • Нет связанных вопросов^_^