2011-10-25 27 views
25

Tôi có một tệp gọi là test_module.c có một số khác biệt mà tôi muốn áp dụng cho bản sao làm việc cục bộ của mình.định dạng-vá cho một tệp đơn

Tôi đã cố tạo tệp bản vá từ xa bằng cách thực hiện như sau. Tuy nhiên, git không phàn nàn về bất kỳ lỗi nào. Và cũng không tạo ra bất kỳ tập tin bản vá nào.

git format-patch master/dev_branch test/test_module.c 

Có thể tạo bản vá của một tệp duy nhất mà tôi có thể áp dụng?

(Sử dụng git phiên bản 1.7.5.4)

Trả lời

30

Nếu bạn cung cấp cho git format-patch một phiên bản duy nhất, nó sẽ tạo ra các bản vá lỗi cho mỗi cam kết kể từ bản sửa đổi đó. Nếu bạn thấy không có đầu ra từ lệnh đó, thì tôi nghi ngờ rằng không có thay đổi nào đối với tệp đó giữa origin/masterHEAD hiện tại của bạn. Thay vào đó, bạn có thể cung cấp phạm vi sửa đổi (ví dụ: origin/master~3..origin/master) bao gồm các thay đổi được giới thiệu cho tệp đó. Hoặc, nếu những thay đổi mà bạn muốn tạo ra một bản vá cho chỉ chứa trong cam kết duy nhất ở mũi của origin/master, bạn có thể sử dụng tham số -1, như trong:

git format-patch -1 origin/master test/test_module.c 
+0

Tôi đã sử dụng thông tin sau đây với hàm băm là cam kết cuối cùng. git format-patch [băm] origin/master test/test_module.c Tuy nhiên, tôi gặp phải các lỗi này. Điều gì bình thường sẽ gây ra những điều này? lỗi: bản vá không thành công: test/test_module.c: 176 lỗi: test/test_module.c: bản vá không áp dụng Cảm ơn. – ant2009

+0

Tôi nghĩ bạn có thể muốn 'git format-patch [hash] .. origin/master test_module.c' thay vào đó, hoặc' origin/master' có thể được coi là một đường dẫn. –

+1

Bất kỳ ý tưởng nào trong đó tài liệu này được ghi lại? Trang người dùng chính thức dường như không nói gì về việc chỉ định tệp (mặc dù nó hoạt động): https://git-scm.com/docs/git-format-patch. –

11

Bạn có thể sử dụng cú pháp sau để tạo bản vá lỗi cho tập tin duy nhất:

git format-patch [commit_hash] [file] 
+0

nó thực sự hoạt động! sha1 được hiển thị là không chính xác, nhưng nó đã cho tôi bản vá chính xác mà tôi muốn. – cnst

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