2009-08-05 37 views
6

Cách chỉ định 'git send-email' để gửi thư trên một bản vá cụ thể?Cách chỉ định 'git send-email' để gửi thư trên một bản vá cụ thể?

Tôi có 4 cam kết nhưng tôi chưa thực hiện 'git pull'. Khi tôi gửi 'git send-email', nó sẽ gửi 4 email (1 bản vá cho mỗi lần commit).

Tôi làm cách nào để định cấu hình git send-email để nó có thể gửi email chỉ cho lần commit cuối cùng?

Cảm ơn bạn.

Trả lời

5

git-send-email lấy đối số chỉ định các bản vá để gửi. Ví dụ:

git send-email HEAD^ 

sẽ tạo bản vá cho lần commit cuối cùng trên nhánh hiện tại của bạn. Tương tự, nếu bạn định dạng các bản vá trước tiên với git-am, bạn có thể chỉ định tệp vá duy nhất mà bạn muốn gửi.

Để biết thêm thông tin về cách chỉ định sửa đổi, hãy xem man git-rev-list. Các phương pháp phổ biến có thể bạn sẽ quan tâm:

  • <commit1>..<commit2> có nghĩa tất cả mọi thứ sau khi lên đến
  • <commit>^ có nghĩa là cam kết trước <commit>
  • <commit>~5 có nghĩa là cam kết lăm cam kết trước <commit>
+0

Cảm ơn sự giúp đỡ của bạn. – n179911

+0

Lưu ý rằng git-send-email chấp nhận tham số git-format-patch/git-rev-list là tính năng khá mới (yêu cầu git khá hiện đại) –

+0

Ah, cảm ơn, Jakub, không biết điều đó. Tôi là một anh chàng push-pull hơn. Tôi tưởng tượng 'git-format-patch' đã dùng tham số' git-rev-list' trong một thời gian, do đó, nên có một giải pháp thay thế. – Cascabel

1

IMHO này shoud được làm việc:

git send-email -1 
Các vấn đề liên quan