Tôi có hai thẻ trong git của tôi trong cùng một chi nhánh. Có ít nhất 5-6 cam kết giữa chúng. Làm thế nào tôi có thể tạo một bản vá duy nhất giữa hai thẻ để nó có thể được áp dụng cho một repo GitHub?Làm thế nào để tạo bản vá giữa hai thẻ với nhiều cam kết giữa chúng?
31
A
Trả lời
51
Bạn có thể tạo một diff đơn (patch) giữa hai thẻ bằng cách sử dụng sau đây
$ git diff tag1 tag2 -- > the-patch.diff
Thay tag1
và tag2
để các thẻ mà bạn muốn.
32
Bạn có thể tạo một bản vá duy nhất cho nhiều cam kết bằng cách sử dụng tùy chọn --stdout
và chỉ đạo các đầu ra vào một tập tin:
git checkout tag2
git format-patch tag1 --stdout > patch1to2.patch
+0
câu trả lời tuyệt vời. Giải quyết nó một cách rất rõ ràng và chính xác. +1 –
Các vấn đề liên quan
- 1. git tạo ra cam kết từ sự khác biệt giữa hai chi nhánh
- 2. SVN tạo bản vá từ mã cam kết?
- 3. Làm cách nào để tạo một bản vá từ cam kết git mới nhất của tôi?
- 4. Làm thế nào để sử dụng Eclipse Mercurial Plugin để tạo bản vá?
- 5. git dàn dựng và cam kết giữa nhiều chi nhánh
- 6. Làm cách nào để tạo hai khung hình không có khoảng trống giữa chúng?
- 7. Làm thế nào để bạn squash cam kết thành một bản vá với git định dạng-patch?
- 8. Khác biệt giữa hai cây thư mục để tạo bản vá mức tệp/thư mục (bao gồm tệp nhị phân)
- 9. Làm thế nào để tạo danh sách các kết quả T-SQL bằng dấu phẩy giữa chúng?
- 10. Làm cách nào để tạo bản vá mở rộng bằng cách sử dụng Sourcetree?
- 11. Mercurial - Làm cách nào để tạo một tệp .zip thay đổi giữa hai lần sửa đổi?
- 12. Tạo kết nối giữa hai máy tính trong trăn
- 13. Làm thế nào tôi có thể nhận được sự khác biệt giữa tất cả các cam kết xảy ra giữa hai ngày với Git?
- 14. git định dạng-vá mà không cam kết
- 15. Làm thế nào để chỉ chấp nhận các bản vá được chọn với git svn?
- 16. Cách tạo bản vá mà không cần cam kết trong Git
- 17. Làm thế nào để có được toàn bộ nội dung giữa hai thẻ xml bằng Python?
- 18. Python - Regex - Làm thế nào để tìm một chuỗi giữa hai bộ chuỗi
- 19. Làm thế nào để loại bỏ văn bản giữa các thẻ trong php?
- 20. Tôi làm cách nào để cam kết thẻ git?
- 21. Git khác biệt giữa hai thẻ cho trước
- 22. Làm thế nào để chuyển đổi N cam kết trên cùng địa phương sang một bản vá MQ?
- 23. Làm thế nào để chuyển tệp giữa hai máy tính được kết nối trong python?
- 24. Làm thế nào để bạn biết sự khác biệt trong giao diện giữa hai phiên bản khác nhau?
- 25. Kết hợp Regex giữa hai chuỗi?
- 26. Tạo ngày giữa hai ngày
- 27. Làm cách nào để tạo liên lạc giữa nhiều miền giữa JavaScript và Flash?
- 28. Hai pha cam kết
- 29. Bản thể học: OWL - Tạo kết nối giữa các lớp
- 30. Cách hiệu quả để vẽ nhiều ảnh với nhiều bản vá trong matplotlib?
Btw, bởi tập tin vá Ý anh là một cái gì đó giống như những gì 'git định dạng patch' sản xuất ? – fajran
vâng tôi cần một tệp vá như lệnh [git format-patch] generate.Có thể bạn cho tôi biết cách hoạt động của hai thẻ này. – Rishi
Bạn có thể đè bẹp các cam kết đó thành một lần commit bằng cách sử dụng 'git rebase'. Sau khi bạn có một commit, bạn có thể sử dụng 'git format-patch' để tạo file patch của nó. – fajran