Я делаю то же самое при работе со StarTeam и git.Я не знаком с синтаксисом Perforce, но концепции должны совпадать.
Прежде всего, начальный коммит git всегда медленный.После этого может потребоваться 5-10 секунд для сканирования измененных файлов для подготовки, но в большинстве случаев фиксация происходит почти мгновенно.Для контекста, наша база кода содержит около 50 000 файлов с версиями.
Я синхронизирую master
со StarTeam, но не занимаюсь разработкой непосредственно в нем.Я делаю git checkout master
, затем делаю обновление StarTeam, затем добавляю и комментирую git.
Затем для своей работы я делаю новую ветку, делаю всю свою работу там, делаю еще одно обновление StarTeam в master
и объединить мою ветку с функциями обратно в master
перед фиксацией в StarTeam.Таким образом, все входы и выходы StarTeam выполняются в master
, а разработка всегда выполняется в других ветвях, что обеспечивает чистоту обновлений StarTeam.
Этот смешанный подход имеет ряд других приятных преимуществ, таких как возможностьна некоторое время отложите частичную работу для проверки кода, проблем с полями или чего-то еще.В настоящее время у меня есть 5 веток git в различных состояниях использования.Это также очень удобно для ввода временного кода отладки.