Git có rất tiện dụng archive
lệnh cho phép tôi để tạo ra một bản sao của một đặc biệt cam kết trong một kho lưu trữ .zip như vậy:Zip thay đổi cam kết mới nhất chỉ
git archive -o ../latest.zip some-commit
này sẽ chứa các cây làm việc toàn bộ cho rằng cam kết. Thông thường tôi chỉ cần các tập tin thay đổi kể từ một bản phát hành trước đó. Hiện tại, tôi sử dụng tính năng này để chuyển các tệp đó thành mã zip:
git diff --name-only previous-commit latest-commit | zip ../changes.zip [email protected]
Tuy nhiên, tệp này sẽ bị thay đổi không được cam kết. Có cách nào để chỉ nhận các tệp đã thay đổi khi chúng được cam kết trực tiếp vào mã zip không?
Đẹp nhất! Điều đó hoạt động rất tốt. –
Hãy coi chừng việc trích xuất một bản lưu trữ như vậy sẽ không xóa bất kỳ tệp nào. Điều này có thể gây khó khăn cho việc chẩn đoán các vấn đề sau này. – jilles
@jilles: Rất đúng. Đây là lý do tại sao các bản vá lỗi là tuyệt vời. @Marnix van Valen: Bạn có lẽ chỉ cần tạo bản vá sau đó gói nó bằng một tập lệnh (thậm chí bạn có thể sử dụng một heredoc để giữ tất cả trong một tệp) - sau đó nó có thể sử dụng được và, đúng, chính xác. – Cascabel