patch Trình tạo lệnh
Tạo lệnh patch để áp dụng diff cho tệp
Bắt đầu với patch
## patch là gì?
`patch` áp dụng một diff (do `diff -u` tạo ra) lên một tập hợp các tệp. Đây là công cụ kinh điển để phân phối và hoàn tác các thay đổi trên mã nguồn.
## Cách sử dụng
1. **Cung cấp một tệp patch** qua `-i` (ví dụ `-i fix.patch`). 2. **Cắt bớt thành phần đường dẫn** với `-p` (thường là `-p 1`) để các đường dẫn bên trong diff khớp với cây của bạn. 3. **Thiết lập tùy chọn** (tùy chọn): `-R` để đảo ngược, `-d` để chạy trong một thư mục khác. 4. **Sao chép và chạy**: Sao chép lệnh đã tạo vào terminal của bạn.
Các flag phổ biến
### `-p NUM` Cắt bớt dấu xuyệt dẫn đầu Đường dẫn tệp trong diff thường trông như `a/src/app.c` và `b/src/app.c`. Dùng `-p 1` để cắt tiền tố `a/` / `b/` dẫn đầu sao cho `patch` nhắm vào `src/app.c`.
### `-i FILE` Đọc patch từ tệp Áp dụng một patch lưu trên đĩa thay vì đọc từ stdin.
### `-d DIR` Đổi thư mục Chạy `patch` như thể bạn đã `cd` vào `DIR` trước — tiện khi áp dụng một patch từ thư mục gốc của repo.
### `-R` Đảo ngược Áp dụng lại patch theo chiều ngược, **hoàn tác** một thay đổi đã áp dụng trước đó. Tương đương `git apply -R`.
### Kiểm chứng Dùng `--dry-run` (không hiển thị trong trình tạo này) để thử nghiệm mà không thay đổi tệp:
``` patch -p 1 --dry-run -i fix.patch ```
▶-p 1 có ý nghĩa gì?
▶Làm cách nào để hoàn tác một patch đã áp dụng?
Nếu công cụ này đã giúp ích cho bạn, hãy nghĩ đến việc mua một cốc cà phê cho tôi.
Hãy mua cho tôi một cốc cà phê nhé.