Sử dụng này:
$ diff -u 1.php 1a.php > customizations.patch
Mà sẽ cung cấp cho bạn một khác biệt thống nhất của tất cả các thay đổi giữa vani của bạn và sao chép tùy chỉnh của phiên bản 1.0 của tập tin.
Bạn có thể thử áp dụng những thay đổi đối với file mới, 2.php, như thế này:
$ patch -p0 2.php customizations.patch
Lưu ý, tuy nhiên, điều này có thể sẽ thất bại với nhiều hunks từ chối nếu mã nguồn đã thay đổi quá nhiều. Tuy nhiên, chỉ cần nhận được sự khác biệt thống nhất đó có thể chứng minh là hữu ích vì sau đó bạn có thể tái hòa nhập các tùy chỉnh của mình theo cách thủ công để phù hợp với mã nguồn mới.
Điều tôi sẽ làm, nếu có thể, là lấy bản sao cục bộ của kho kiểm soát phiên bản mà dự án phần mềm miễn phí sử dụng. Sau đó, tạo một nhánh của nó và tích hợp các tùy chỉnh của bạn, và sau đó xem liệu bạn có thể đưa mọi thứ tiến lên bằng cách hợp nhất các cam kết ngược dòng từ thời điểm đó vào chi nhánh của bạn hay không. Nếu không nhìn thấy tất cả những thứ liên quan, tôi không thể nói với bạn rằng nó sẽ là một quá trình tầm thường hay phức tạp, nhưng nó có thể dễ dàng hơn là chỉ sử dụng diff và patch.
Lưu ý rằng điều này sẽ không hoạt động đối với nhiều tệp; nếu bạn cần làm điều này trong tương lai với nhiều tệp, bạn sẽ muốn sử dụng diff đối với hai tập hợp tệp khác nhau (có cùng tên tệp) trong hai cây thư mục khác nhau. Tôi nghĩ rằng có thể không phải là một ý tưởng tồi để đề cập đến điều này ngay bây giờ chỉ trong trường hợp nó chứng tỏ là một tình huống mà bạn gặp phải trong tương lai.
Nguồn
2010-12-10 18:38:04
Cảm ơn bạn, cách tiếp cận khác biệt/vá hoạt động hoàn hảo. Mặc dù một vài người đã thất bại, nhưng chúng khá đơn giản để hợp nhất thủ công. – gjb
Bạn được chào đón nhiều nhất. –