Способ, которым я это делаю, - это иметь основную ветку и ветви функций в git, а затем использовать git diff --name-only master
в ветви функций, чтобы выяснить, какие файлы я изменил для конкретной функции. Затем я проверяю эти файлы в списке изменений Perforce и отправляю его.
... ну, более или менее ... :) На практике мы используем Code Collaborator для проверки кода, поэтому я проверяю файлы между началом работы над функцией и передачей файлов для проверки кода ( не имеет большого значения, когда). Затем я проверяю перед проверкой кода, что у меня есть все файлы, которые у меня должны быть, используя приведенную выше команду git. (На самом деле, потому что я параноик, теперь я делаю git clean -xdf
в своем исходном каталоге и выполняю "Примирить автономную работу" Perforce, чтобы дважды проверить, что я собираюсь отправить. Затем я делаю полную перестройку всего В конце концов, ломать сборку - это стыдно. После того, как все проверки завершены, я просто отправляю список изменений как обычно.
Это немного бред, правда, но теперь все не так плохо, как я к этому привык - и это намного лучше, чем просто использовать Perforce с массивными коммитами и эффективно работать без какого-либо контроля версий для дней за раз:)