Я удалил все файлы в моем каталоге. Как я могу вернуть их? - программирование

Я удалил все файлы в моем каталоге. Как я могу вернуть их?

Я новичок в Perforce и, честно говоря, я его ненавижу. У меня было около 20 файлов в каталоге c:\workspaces\perforce, и я выбрал их все и ударил ключ удаления. Все они были проверены, прежде чем я удалил их. Я вытаскиваю свои волосы, пытаясь понять, как их вернуть (Perforce так неосуществим), но нет ничего, что выделяется для n00b, как я. Как я могу получить последние версии обратно в каталог из Perforce?

4b9b3361

Ответ 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, запуск приложения с повышенными разрешениями и переход на обед после принудительного получения последних.

Если вы потратили половину дня. Возможно, вы захотите попробовать выше.