Более подробная информация содержится в Documentation/git-p4.txt
в исходном коде проекта git.
git-p4 поддерживает ветку refs / remotes / p4 для зеркалирования удаленного сервера Perforce.
По умолчанию git-p4 clone
и git-p4 sync
обновляют этот пульт, и вы перезагружаете его у мастера.
git-p4 submit
требует настройки дополнительного локального каталога в качестве корневого клиента Perforce для использования p4 submit
.
git-p4 sync/clone
запишет каждый номер списка изменений в соответствующем сообщении git commit. Например:
[git-p4: depot-paths = "//depot/test/": change = 51]
Используя эти записи списка изменений, git-p4 sync
получает списки изменений на сервере Perforce, который еще не зафиксирован для git, добавляя примечания списка изменений к каждому новому сообщению git commit.
git-p4 submit
начинается с определения новых локальных коммитов git - тех, у которых нет [git-p4: ...]
.
Используя локальное рабочее пространство клиента Perforce, он синхронизирует файлы Perforce и с помощью git apply
применяет исправления, полученные из git format-patch
, к неподтвержденным коммитам git перед вызовом p4 submit
.
Затем git-p4 submit
вызывает git-p4 sync
, чтобы обновить ветку ref / remotes / p4 для только что обновленного удаленного Perforce.
Наконец, git-p4 submit
вызовет git rebase
в главной ветке против обновленного пульта. Это приводит к тому же дереву git, которое было отправлено, но с отредактированными сообщениями фиксации, содержащими нотации [git-p4...]
.
Как сохранить несколько файлов, измененных в git, даже не отправляя их на p4?
git-p4 submit
отправит все ветки коммитов. Используйте обычные инструменты git для организации изменений в и из ветки, которую вы решите отправить в Perforce.