2012-01-06 29 views
18

Tôi có một bản vá có chứa rất nhiều thay đổi mà tôi muốn chia thành nhiều lần commit và có khả năng sửa đổi một số thay đổi.Git áp dụng một bản vá cho thư mục làm việc

Tôi muốn áp dụng bản vá này vào thư mục làm việc của mình và sau đó cam kết thay đổi theo cách thủ công. Có thể áp dụng một miếng vá vào thư mục làm việc trong git không?

Trả lời

21

Bạn có thể sử dụng git apply áp dụng một bản vá:

git apply < patchname.patch 

này không tạo ra bất kỳ cam kết. Trên thực tế, không có bất kỳ tùy chọn nào, lệnh git apply thậm chí không cần phải có kho lưu trữ Git. Nó chỉ áp dụng các bản vá lỗi cho các tập tin.

1

Hãy thử dòng lệnh này

git am < patchname.patch 
+1

Điều đó áp dụng một bản vá bình thường, thêm nó vào kho lưu trữ (nghĩa là một cam kết thông thường). – Omar

4

Bạn có thể sử dụng một lệnh patch, ví dụ .:

patch -p1 < path/file.patch 

Khi sử dụng patch lệnh, nó sẽ thường tự động phát hiện định dạng. Điều này rất hữu ích khi bạn đang cố gắng áp dụng bản vá cho thư mục làm việc mà không phải là một thanh toán cục bộ của dự án mà bạn muốn vá.

Nếu không, hãy sử dụng git apply nếu bản vá của bạn được tạo riêng cho dự án, nếu không nó sẽ không làm bất cứ điều gì khi được sử dụng trong thanh toán cục bộ của kho git.

Các vấn đề liên quan