Я новичок в Perforce и, честно говоря, я его ненавижу. У меня было около 20 файлов в каталоге c:\workspaces\perforce, и я выбрал их все и ударил ключ удаления. Все они были проверены, прежде чем я удалил их. Я вытаскиваю свои волосы, пытаясь понять, как их вернуть (Perforce так неосуществим), но нет ничего, что выделяется для n00b, как я. Как я могу получить последние версии обратно в каталог из Perforce?
Я удалил все файлы в моем каталоге. Как я могу вернуть их?
Ответ 1
Вам нужно выполнить силовую синхронизацию.
В командной строке:
$> p4 sync -f
В графическом интерфейсе P4V:
- Щелкните правой кнопкой мыши каталог для обновления
- Выберите "Получить ревизию"
- В диалоговом окне установите флажок "Силовая операция"
- Нажмите "Получить ревизию"
Ответ 2
Сервер perforce отслеживает, какие файлы вы вытащили в последний раз. Это делается для того, чтобы следующий sync
приводил только файлы, которые имеют изменения с момента последней синхронизации, а не все файлы еще раз.
Чтобы отменить это поведение, вам нужно использовать опцию -f
.
Флаг -f заставляет повторить синхронизацию, даже если клиент уже имеет файл и перезапись любых файлов, доступных для записи. Этот флаг не влияют на открытые файлы.
Если вы используете клиент командной строки, вы можете запустить эту команду из каталога, в котором вы хотите синхронизировать:
p4 sync -f ...
Вы также можете проверить список файлов opened
, так как sync -f
не будет вносить изменения, соответствующие этим файлам (даже если вы их удалили).
Эта команда должна отображать все открытые файлы:
p4 opened ...
Если у вас есть файлы, перечисленные в приведенном выше списке, которые вы также удалили, вы должны вернуть их перед запуском sync -f
.
p4 revert <FILE1> <FILE2>
p4 sync -f ...
Если вы используете p4v
, вы можете выполнить шаги, указанные в dwinkle:
1. Right click the folder in your workspace
2. Choose `Get Revision` in the context menu.
3. Choose `Get Latest revision`
4. Check `Force Operation (replace file even if you already have the revision specified)
5. Click on `Get Revision` button to fetch the files.
Чтобы просмотреть список открытых файлов с помощью p4v
, вам нужно будет просмотреть список ожидающих списков изменений. Вы должны искать в списке изменений default
, если вы не помещали файлы в какой-либо специальный журнал изменений. Щелкните правой кнопкой мыши файлы, которые вы видите там, которые вы удалили ранее, и выберите Revert
.
Ответ 3
если у вас есть файлы, извлеченные, а затем удаленные. Вам нужно вернуть (p4 revert -a//...) папку, прежде чем вы получите последнюю принудительную (p4 sync -f).
Ответ 4
Если вы не заботитесь о старом клиенте, одним из решений было бы вывести новый клиент:
p4 newclient
p4 sync
Если вы хотите, чтобы у клиента было то же имя, вы можете сделать принудительную синхронизацию, как упомянули другие:
p4 sync -f
Если вы хотите, чтобы клиент имел одно и то же имя, но ваш каталог больше не распознается как рабочее пространство p4, вам нужно будет удалить клиент, а затем заново создать его.
p4 -c <client_name> client -d <client_name>
p4 newclient
Ответ 5
Альтернатива:
p4 reconcile
p4 revert //...
Ответ 6
В моем случае я пробовал все, и я не мог вернуть все мои файлы, поэтому я попытался их удалить, а затем я не смог их вернуть. Я перезапустил свой компьютер и попробовал множество решений, найденных в Интернете. В конце концов, моя проблема была решена одним или несколькими из следующих: обновление до последнего приложения P4V, запуск приложения с повышенными разрешениями и переход на обед после принудительного получения последних.
Если вы потратили половину дня. Возможно, вы захотите попробовать выше.