Tôi có một máy Amazon EC2. Tôi muốn sao chép một phiên bản cũ hơn của repo github trên máy này. Thông thường tôi sử dụng git clone https://linktomyrepo.git Làm cách nào để sao chép phiên bản cũ hơn, hãy nói cập nhật từ 14 ngày trước? Tôi có thể xem phiên bản chính xác mà tôi cần trong lịch sử cam kết của kho lưu trữ, nhưng không biết cách sao chép nó vào máy EC2. Tôi có cần phải sử dụng mã SHA nhỏ bên cạnh mỗi cam kết không?Nhân bản một phiên bản cũ hơn của github repo
Trả lời
Bạn luôn có thể thanh toán bất kỳ trạng thái nào bạn thích bằng cách sử dụng băm cam kết.
Ví dụ: bằng cách tìm nhật ký, bạn đã xác định rằng 233ab4ef là trạng thái bạn quan tâm, hãy phát hành git checkout 233ab4ef
để kiểm tra trạng thái đó.
Một cách khác để đạt được điều này là sử dụng git checkout @{14.days.ago}
Git không được thiết kế theo cách đó. Khi bạn sao chép một kho lưu trữ, bạn đang sao chép tất cả các phiên bản.
Vì vậy, lần đầu tiên sao chép một kho lưu trữ (mà ban đầu kiểm tra phiên bản mới nhất), sau đó kiểm tra phiên bản bạn thực sự muốn.
Bạn có thể kiểm tra cam kết dựa trên băm.
git checkout afe52
Bạn cũng có thể kiểm dựa trên ngày (thay vì nhìn lên bảng băm), ví dụ:
git checkout '[email protected]{1979-02-26 18:30:00}'
git checkout @{14.days.ago}
Để kiểm tra các cam kết, bạn có thể kiểm, sử dụng git log
.
Điều gì xảy ra nếu có hàng nghìn cam kết? Cách nhanh nhất để xem tất cả các bản phát hành được gắn thẻ là gì? Nói cho những thứ như phiên bản 1, 2, 3, v.v. – anon58192932
@ anon58192932 để xem tất cả các thẻ bạn có thể sử dụng thẻ 'git' và để xem chi tiết của thẻ cụ thể đó, bạn có thể sử dụng thẻ git cat-tag TAG_NAME' cho ví dụ tôi có thể sử dụng 'git cat-file tag v4.4.7' trong repo nút để cho tôi chỉ cho tôi chuỗi commit '0974fc6a25c343744235331eb20d31f6412ff7e1'. :) – Dobz
- 1. Nhân bản một Github riêng tư repo
- 2. GitHub: tìm kiếm thông qua các phiên bản cũ hơn của các tập tin
- 3. Phiên bản mới hơn của JRE không tải soundbank nhưng phiên bản cũ hơn
- 4. Thử nghiệm với các phiên bản cũ hơn của Firefox
- 5. Cách chạy phiên bản cũ hơn của node.js trên windows
- 6. Phiên bản Subversion của GitHub?
- 7. Phát hiện các phiên bản IE cũ hơn
- 8. Phiên bản cũ của Android NDK
- 9. Sử dụng phiên bản cũ của NumPy ngay cả với một phiên bản mới hơn được cài đặt
- 10. SVN - Cách sửa đổi phiên bản cũ hơn?
- 11. pip install django --upgrade cài đặt phiên bản cũ hơn
- 12. Nơi tải xuống phiên bản Xcode cũ hơn?
- 13. Cài đặt phiên bản cũ của gcc
- 14. Mercurial, cách gắn thẻ phiên bản cũ của
- 15. Làm thế nào để cài đặt một phiên bản cũ hơn của gói thông qua NuGet?
- 16. Cài đặt phiên bản mới của dự án triển khai trên phiên bản cũ
- 17. Thư mục submodule rỗng Git khi repo nhân bản
- 18. cách gỡ cài đặt phiên bản cũ của xcode
- 19. Nhân bản một phiên bản trước trên Heroku
- 20. Có bản lưu trữ cho các phiên bản cũ hơn của Tiện ích mở rộng của Chrome không?
- 21. Nhân bản nhiều nhánh trong GitHub cho Windows
- 22. Xóa phiên bản cũ của Ruby (trên Windows)
- 23. Làm cách nào để xem phiên bản cũ hơn của tệp SVN?
- 24. Sử dụng `@ unittest.skipIf` với các phiên bản cũ hơn của Python
- 25. Làm cách nào để buộc iPython sử dụng phiên bản cũ hơn của Python?
- 26. Kiểm tra xem có phiên bản mới hơn của tệp cục bộ của tôi ở Github không, với R
- 27. Tải xuống phiên bản cũ hơn của Google Chrome dành cho Linux
- 28. Làm cách nào để chuyển sang các phiên bản cũ hơn của môi trường ruby / rails?
- 29. Quay lại phiên bản cũ ở Bazaar
- 30. Cách chạy ứng dụng trong phiên bản cũ hơn của Simulator
'14' trong' git checkout @ {14.days.ago} 'chính xác là gì? – Shafizadeh
Có vẻ như số ngày trước mà bạn đang tìm cách sao chép. Xin lỗi nếu đó không phải là những gì bạn đang yêu cầu. Điều này nói rằng "Clone repo dựa trên những gì nó trông giống như 14 ngày trước từ hôm nay" nếu tôi đọc quyền này. – jrb