2015-10-08 15 views
5

Tôi đã một thư mục được tạo ra tại địa phương: /home/Tegra.Không thể sử dụng git gửi-email để gửi mã nguồn và các bản vá lỗi

Tôi đã tạo ra sau tập tin bên trong/home/Tegra:

hello_world.c hello_world_1.c hello_world_2.c 

Mỗi tập tin là từng bước đã sửa đổi. Tôi cũng đã tạo ra các bản vá lỗi như:

diff -u hello_world.c hello_world_1.c > hello_world_1.patch 
diff -u hello_world_1.c hello_world_2.c > hello_world_2.patch 
  1. Bây giờ tôi muốn đầu tiên gửi một email bằng git gửi email- vào địa chỉ email [email protected] cần chứa hello_world.c tệp

  2. Sau đó, tôi muốn gửi email thứ hai với tệp hello_world_1.patch dưới dạng tệp đính kèm.

  3. Sau đó, tôi muốn gửi email thứ ba với hello_world_2.patch tệp dưới dạng tệp đính kèm.

Thật không may, tôi thậm chí không thể làm bước 1:

git của tôi đã được cấu hình đúng cách với máy chủ smtp liên quan TLS 587 cổng.

tôi đã cố gắng lệnh sau:

git send-email --to [email protected] --subject My Hello hello_world.c 

tôi nhận được lỗi sau:

Cannot run git format-patch from outside a repository 

đâu kho đi vào bức tranh. Tôi sẽ phải duy trì một kho lưu trữ mã đầu tiên của mình.

Edit: Đối với bước 1: Theo ý kiến ​​dưới đây chúng ta cần một kho lưu trữ:

  1. Tạo một Repository rỗng trên Github: "MyRepo"
  2. nhân bản vô tính nó trên máy tính cục bộ. (Sử dụng git clone)
  3. Sau đó thêm vào các tập tin đầu tiên "hello_world.c" vào thư mục/MyRepo".
  4. Sau đó >> git add hello_world.c
  5. Sau đó >> git commit -m 'nguồn đầu tiên của tôi '
  6. Sau đó >> git push -u bậc thầy gốc
  7. Sau đó, tôi gõ: git gửi [email protected] --subject = "[asdasdas] assd asdasd" hello_world.c

Bây giờ tôi gặp lỗi:

No subject line in hello_world.c ? at /usr/lib/git-core/git-send-email line 584 
+1

Có. gửi email sẽ tạo một bản vá từ một thay đổi trong kho lưu trữ của bạn và gửi nó. Bạn cần trỏ nó tới một thư mục hoặc tệp tin được quản lý git. –

+0

Xin chào @AndreasWederbrand, tôi đã tạo một Kho lưu trữ trống trên Github: "MyRepo", nhân bản nó trên máy cục bộ, sau đó thêm tệp đầu tiên vào Thư mục "/ MyRepo". Sau đó, tôi đã nhập: git send-email [email protected] --subject = "[asdasdas] assd asdasd" hello_world.c Bây giờ tôi gặp lỗi: Không có dòng chủ đề trong hello_world.c? tại/usr/lib/git-core/git-send-email line 584. – Haswell

Trả lời

1

Then added the first file "hello_world.c" into the Directory /MyRepo".

Trước tiên hãy chắc chắn rằng bạn đã thực sự cam kết bất cứ điều gì trong repo trống nhân bản của bạn.

git add . 
git commit -m "new commit" 
git push 

Thứ hai, git send-email doc không đề cập đến:

--subject=<string> 

Specify the initial subject of the email thread. Only necessary if --compose is also set.

Hãy chắc chắn để sử dụng --compose.

This format expects the first line of the file to contain the " Cc: " value and the " Subject: " of the message as the second line.

Điều đó sẽ hoạt động với .patch, không phải chính nguồn.
Xem git format-patch, và "How to send patches with git-send-email" cho một ví dụ hoàn chỉnh hơn:

Đối với các cam kết cuối cùng:

git send-email -1 [email protected] --subject="[asdasdas] assd asdasd" 

Thứ ba, một giải pháp đơn giản sẽ được use git bundle. Điều đó tạo ra một tệp mà bạn có thể gửi bất kỳ cách nào bạn muốn và từ đó người nhận có thể kéo/sao chép từ đó. Nó hoạt động (một tập tin) như là một repo trống git.

+0

Sau đó, http://status.bitbucket.org/git send-email -1' tôi đề cập đến sẽ hoạt động. Nhưng 'git bundle' thì dễ hơn. – VonC

+0

Có, tôi có thể gửi email tuy nhiên Dòng Chủ đề không phải là thứ tôi đã nhập trong --subject, Nó thay đổi thành dòng tôi đã sử dụng trong git commit -m "line" – Haswell

+0

Ngoài ra một [Patch] được thêm vào dòng chủ đề . Gói git có thể giải quyết vấn đề này không? – Haswell

Các vấn đề liên quan