Tôi mới tham gia Perforce và, thành thật mà nói, tôi ghét nó. Tôi có khoảng 20 tệp trong thư mục c: \ workspaces \ perforce và tôi đã chọn tất cả chúng và nhấn phím xóa. Tất cả đều được đăng ký trước khi tôi xóa chúng. Tôi đã kéo tóc ra cố gắng tìm ra cách để đưa chúng trở lại (Perforce là sooooo unintuitive) nhưng không có gì mà đứng ra một n00b như tôi.
Làm cách nào để có được các bản chỉnh sửa mới nhất trở lại vào thư mục từ Perforce?Tôi đã xóa tất cả các tệp trong thư mục của mình. Làm thế nào tôi có thể lấy lại chúng?
Trả lời
Bạn cần thực hiện đồng bộ hóa lực.
Trên dòng lệnh:
$> p4 sync -f
Trong GUI P4V:
- Nhấp chuột phải vào thư mục để cập nhật
- Chọn 'Get Revision'
- Trong hộp thoại, kiểm tra 'Buộc hoạt động'
- Nhấp vào 'Nhận bản sửa đổi'
Máy chủ lưu lượng truy cập theo dõi các tệp bạn đã kéo trong lần trước. Điều này được thực hiện sao cho, sync
tiếp theo chỉ mang lại các tệp có thay đổi kể từ lần đồng bộ hóa cuối cùng, thay vì tất cả các tệp một lần nữa.
Để ghi đè hành vi này, bạn cần sử dụng tùy chọn -f
.
Cờ -f buộc đồng bộ lại ngay cả khi ứng dụng đã có tệp và ghi đè mọi tệp có thể ghi. Cờ này không ảnh hưởng đến các tệp đang mở.
Nếu bạn đang sử dụng cho khách hàng dòng lệnh, bạn có thể chạy lệnh này từ thư mục mà bạn muốn đồng bộ hóa lên:
p4 sync -f ...
Bạn cũng có thể muốn kiểm tra danh sách các opened
file, kể từ sync -f
sẽ không mang lại các thay đổi tương ứng với các tệp đó (ngay cả khi bạn đã xóa chúng).
Lệnh này sẽ liệt kê tất cả các file mở:
p4 opened ...
Nếu bạn có bất kỳ tập tin được liệt kê trong danh sách trên, mà bạn đã xóa là tốt, bạn nên trở lại chúng trước khi chạy sync -f
.
p4 revert <FILE1> <FILE2>
p4 sync -f ...
Nếu bạn đang sử dụng p4v
, bạn có thể làm theo các bước được đề cập bởi 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.
Để nhìn vào danh sách các tập tin đã mở sử dụng p4v
, bạn sẽ phải nhìn vào danh sách các các danh sách thay đổi đang chờ xử lý. Bạn nên tìm kiếm trong danh sách thay đổi default
, nếu bạn chưa đặt các tệp đó vào bất kỳ danh sách thay đổi bất chính nào.Nhấp chuột phải vào các tệp bạn thấy ở đó mà bạn đã xóa trước đó và chọn Revert
.
Một thay thế:
p4 reconcile
p4 revert //...
nếu bạn có tập kiểm tra ra, và sau đó xóa. Bạn cần hoàn nguyên (p4 revert -a // ...) thư mục trước khi bạn nhận được lệnh mới nhất (p4 sync -f).
Nếu bạn không quan tâm đến các khách hàng cũ, một trong những giải pháp sẽ được kéo xuống một khách hàng mới:
p4 newclient
p4 sync
Nếu bạn muốn khách hàng để có cùng tên, bạn có thể làm một sync buộc như những người khác đã đề cập:
p4 sync -f
Nếu bạn muốn khách hàng để có cùng tên, nhưng thư mục của bạn không còn được công nhận là một không gian làm việc p4, bạn sẽ cần phải xoá client và sau đó tạo lại nó.
p4 -c <client_name> client -d <client_name>
p4 newclient
Trong trường hợp của tôi, tôi đã thử mọi thứ và không thể khôi phục tất cả các tệp của mình, vì vậy tôi đã thử xóa chúng và sau đó tôi không thể lấy lại tất cả. Tôi khởi động lại máy tính của mình và thử nhiều giải pháp được tìm thấy trực tuyến. Cuối cùng, vấn đề của tôi đã được giải quyết bằng một hoặc tất cả những điều sau đây: nâng cấp lên ứng dụng P4V mới nhất, chạy ứng dụng với các quyền nâng cao và đi ăn trưa sau khi bắt buộc phải tải xuống mới nhất.
Nếu bạn lãng phí nửa ngày. Bạn có thể muốn thử ở trên.
- 1. Làm cách nào tôi có thể lấy tệp tininfo của tất cả các tệp trong một thư mục bằng GetFile()?
- 2. Làm thế nào tôi có thể viết lại lịch sử để tất cả các tệp, ngoại trừ các tệp tôi đã di chuyển, nằm trong thư mục con?
- 3. Tôi muốn 410 toàn bộ thư mục - Tôi đã xóa blog của mình
- 4. Làm thế nào tôi có thể lấy danh sách tất cả các tệp video từ thư viện trong ios sdk
- 5. Tôi đã mất cả chi nhánh chính của mình và theo GIT, HEAD của tôi (mặc dù tôi có thể đã nói với điều đó). Làm thế nào để tôi lấy lại chúng?
- 6. Cách xóa tất cả thư mục .svn khỏi thư mục ứng dụng của tôi
- 7. Tìm tệp trong tất cả các thư mục có thể?
- 8. Làm thế nào để xóa tất cả các tệp gần đây đã được tạo trong một thư mục trong linux?
- 9. Làm cách nào để tôi có thể xóa tất cả các bảng trong cơ sở dữ liệu của mình?
- 10. Làm thế nào để quên tất cả các tệp đã bị xóa bằng Mercurial
- 11. Tôi có thể đóng Eclipse tất cả các dự án của mình khi tôi thoát không?
- 12. Trích xuất tất cả các tệp có đường dẫn thư mục trong thư mục đã cho
- 13. Tôi có thể lấy dấu vết ngăn xếp của tất cả các chuỗi trong ứng dụng C# của mình không?
- 14. Làm thế nào tôi có thể tìm ra tất cả các tệp đã kiểm xuất trong TFS 2010?
- 15. Buộc xóa tất cả các tệp khỏi một thư mục
- 16. Xóa tất cả các tệp git khỏi một thư mục?
- 17. Tôi có thể hiển thị tất cả các cookie tôi đã đặt trong PHP không?
- 18. git clean -f -d đã xóa các tệp khỏi thư mục cục bộ của tôi
- 19. python - tìm char trong chuỗi - tôi có thể lấy tất cả các chỉ mục không?
- 20. Làm thế nào tôi có thể ẩn tất cả các mục "ĐÃ ĐƯỢC" trong Emacs Org-Mode
- 21. Làm thế nào để giữ tất cả các ứng dụng django của tôi trong thư mục cụ thể
- 22. Tại sao git pull không mang lại các thư mục mà tôi đã xóa?
- 23. CMake: Cách lấy tên của tất cả các thư mục con của một thư mục?
- 24. Làm thế nào tôi có thể nhận được tất cả các checkins của tôi trong Visual Studio 2010 TFS?
- 25. Tôi làm cách nào để có tệp được đưa vào thư mục nguồn của mình?
- 26. Tôi có thể liệt kê tất cả các chức năng trong tập lệnh js nút của mình như thế nào?
- 27. cách xóa tất cả các tệp trừ ba tệp mới nhất trong một thư mục
- 28. Làm thế nào tôi có thể làm apache để bao gồm tất cả các file từ thư mục
- 29. Linux có thể dọn sạch nội dung của tất cả các tệp trong một thư mục
- 30. Lấy lại thư mục .svn đã bị xóa
Phiên bản GUI này là giải pháp tốt nhất cho tôi. Tôi đã nhấp chuột phải vào phiên bản gốc và điều chỉnh các xóa cho một người thay đổi đầu, sau đó quay trở lại danh sách thay đổi đó. –