Использование Git с Visual Source Safe 6.0
Извините за этот ужасный, ужасный вопрос... но мне не нужно использовать VSS.
Я хотел бы иметь возможность использовать Git локально для разработки ветвей и т.д. при использовании Visual Source Safe 6. Мое знание всех входов и выходов Git ограничено на данный момент, m недавнее преобразование.
Вопрос:
Я хотел бы иметь возможность работать в репозитории Git. Я хотел бы сделать это и получить все полезные свойства, которые это позволит с ветвлением и т.д. В конце моего дня или в другие необходимые моменты я хотел бы получить любую работу, которую я делаю, и поместить ее в главный репозиторий, который я бы затем разместил в VSS.
В идеале, в начале рабочего дня я получил бы последнюю версию VSS.. сделайте это с помощью Git.. затем поработайте над альтернативной ветвью, вернув изменения в master, когда мне нужно было выполнить VSS.
Будучи тем, что я относительный новичок Git, что может быть лучшим способом выполнить это... наряду с лучшими командами для выпуска/способа настройки.
* note: Source Safe требует, чтобы файл был проверен, прежде чем можно будет внести изменения в него. Может быть, есть какой-нибудь инструмент / script, который я могу использовать, чтобы помочь автоматизировать это для того, чтобы вносить изменения в VSS?
Ответы
Ответ 1
Настройка, которую вы планируете, должна работать нормально. Для команд git просто проверьте учебники.
Рабочий процесс, который я использовал (не с VSS, но концепция такая же) выглядит примерно так:
- Оформление заказа с основного (т.е. VSS)
- Храните одну ветвь "соединительной линии", которая синхронизируется с VSS
- всегда будет оставаться чистым.
- Разработка в ветвях, разветвленных от "туловища".
- Обновление с VSS:
- переключиться на "trunk"
- обновление с помощью VSS
- git зафиксировать изменения
- пересобирайте ветки, которые разветвлены с туловища.
- Чтобы внести изменения в VSS:
- нажмите изменения из ветки разработки в "trunk" .
- переключиться на "trunk"
- VSS фиксирует изменения
Ответ 2
Любой, застрявший в VSS, может найти следующее сообщение полезным, если вам нужно иметь дело с ветвями:
http://timwise.blogspot.com/2011/11/multiple-working-folders-for-git-on.html
В основном, с помощью SysInternals 'Junction, чтобы получить поддержку symlink в Windows, а затем передайте репозиторий git между физическими папками папок, которые VSS заставляет вас копировать файлы в папку .git и символически связывать папки.
И вот сценарии для автоматизации обмена
Ответ 3
Я также поймал это, так как я делаю это, чтобы другие не касались моего VSS и все файлы проверялись все время, это означает, что никто другой не может внести свой вклад, поэтому это, естественно, не является жизнеспособным решением для все.
Решение, которое я хотел бы предложить, заключается в том, что вы:
- Chekout из VSS
- Создайте ветку для работы с вашей функцией.
- завершить работу над вашей функцией.
- Переключиться на главный ветвь
- Обновить последние версии VSS
- Если какие-либо изменения сделаны, пересоедините ветку
- Посмотрите, какие файлы были изменены с помощью
$ git diff --name-status master..branchName
(см. Показывать, какие файлы были изменены между двумя версиями для источника)
- Проверьте измененные файлы с помощью VSS
- Объедините свою ветку с хозяином (желательно удалив ветвь вашей функции)
- Обязать VSS
Некоторые из них могут быть script из вашего пути, но поскольку вы, скорее всего, используете M $(поскольку используете VSS), это не то, что я могу вам помочь.
Как работает VSS, я бы подумал, что было бы лучше свести к минимуму время, потраченное на файлы, извлеченные из VSS, и поэтому это лучший способ.
Обратите внимание, что могут возникнуть проблемы с обновлением файлов, поскольку VSS автоматически устанавливает флаг readonly в файлы, которые не были извлечены. Обходной путь может понадобиться здесь.