Câu trả lời:
Lưu ý: Trước tiên, bạn có thể xem trước bản vá của mình sẽ làm gì:
Đầu tiên là số liệu thống kê:
git apply --stat a_file.patch
Sau đó chạy khô để phát hiện lỗi:
git apply --check a_file.patch
Cuối cùng, bạn có thể sử dụng git am
để áp dụng bản vá của mình như một cam kết: nó cho phép bạn đăng xuất một bản vá được áp dụng.
Điều này có thể hữu ích để tham khảo sau này.
git am --signoff < a_file.patch
Xem một ví dụ trong bài viết này :
Trong nhật ký git của bạn, bạn sẽ thấy rằng các thông điệp cam kết có chứa một thẻ Signed-off-by-by. Thẻ này sẽ được đọc bởi Github và những người khác để cung cấp thông tin hữu ích về cách cam kết kết thúc trong mã.
git am < somepatch.patch
mang lại "fatal: tên nhận dạng trống (cho <>) không được phép". Ai đó có thể giải thích cho tôi tại sao?
Author
tiêu đề xấu trong bản vá và / hoặc bạn đã không git config user.{name,email}
.
git apply --check
nói patch does not apply
và git apply -3
nói repository lacks the necessary blob to fall back on 3-way merge.
Trong git, cam kết nổi loạn là một làn gió như vậy; nhưng làm thế nào để mọi người phản ứng lại các bản vá của họ trên đầu mã được cập nhật?
git apply name-of-file.patch
Hoặc, nếu bạn đang đá trường cũ:
cd /path/to/other/repository
patch -p1 < 0001-whatever.patch
Trước tiên, bạn nên lưu ý về sự khác biệt giữa git am
vàgit apply
Khi bạn đang sử dụng, git am
bạn thường muốn áp dụng nhiều bản vá. Do đó nên sử dụng:
git am *.patch
hoặc chỉ:
git am
Git sẽ tự động tìm các bản vá và áp dụng chúng theo thứ tự ;-)
CẬP NHẬT
Ở đây bạn có thể tìm thấy làm thế nào để tạo ra các bản vá như vậy
git apply
.. và trong --reverse
:-)
Nếu bạn muốn áp dụng nó như một cam kết , hãy sử dụng git am .
Nếu bạn đang sử dụng IDE JetBrains (như IntelliJ IDEA, Android Studio, PyCharm), bạn có thể kéo tệp vá và thả nó vào trong IDE và một hộp thoại sẽ xuất hiện, hiển thị nội dung của bản vá. Tất cả những gì bạn phải làm bây giờ là nhấp vào "Áp dụng bản vá" và một cam kết sẽ được tạo.
Bạn có thể sử dụng cmd được đề cập dưới đây
git apply fileName.patch