2015-10-08 11 views
5

Ich habe ein Verzeichnis lokal erstellt: /home/Tegra.kann nicht git send-email verwenden, Quellcode und Patches senden

ich in/home/Tegra folgende Dateien erstellt haben:

hello_world.c hello_world_1.c hello_world_2.c 

Jede Datei ist inkrementell geändert. Ich habe auch Patches erstellt:

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. Jetzt möchte ich erste Adresse per E-Mail eine E-Mail mit git send-Nachricht senden [email protected] die hello_world.c Datei

  2. Dann möchte ich zweite E-Mail mit hello_world_1.patch Datei senden als Anhang enthalten.

  3. Dann möchte ich eine dritte E-Mail mit hallo_world_2.patch Datei als Anhang senden.

Leider bin ich nicht einmal in der Lage den Schritt 1 zu tun: mit dem entsprechenden SMTP-Server tls 587 Port

Mein git richtig konfiguriert wurde.

Ich habe versucht, folgenden Befehl ein:

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

-I-Fehler erhalten folgende:

Cannot run git format-patch from outside a repository 

Wo kommt Repository ins Bild. Muß ich zuerst ein Repository meines Codes unterhalten.

Edit: Für Schritt 1: Wie pro Kommentar unten brauchen wir ein Repository:

  1. ein leeres Repository auf Github Erstellt: "myrepo"
  2. es auf dem lokalen Rechner geklont. (Mit git clone)
  3. Dann fügte die erste Datei "hello_world.c" in das Verzeichnis/myrepo“.
  4. Dann >> git add hello_world.c
  5. Dann >> git commit -m‚Meine erste Quelle "
  6. Dann >> git push -u origin master
  7. Danach habe ich getippt: git send-email [email protected] --subject = "[asdasdas] ASSD asdasd" hello_world.c

Jetzt erhalte ich einen Fehler:

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

Ja. send-email erstellt einen Patch aus einer Änderung in Ihrem Repository und sendet es. Sie müssen es auf eine git-verwaltete Datei oder ein Verzeichnis verweisen. –

+0

Hallo @AndreasWederbrand, Ich habe ein leeres Repository auf Github erstellt: "MyRepo", geklont es auf dem lokalen Rechner, Dann fügte die erste Datei in das Verzeichnis "/ MyRepo". Danach tippte ich: git send-email [email protected] --subject = "[asdasdas] assd asdasd" hello_world.c Jetzt bekomme ich einen Fehler: Keine Betreffzeile in hello_world.c? at/usr/lib/git-core/git-send-email Zeile 584. – Haswell

Antwort

1

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

Zuerst stellen Sie sicher, tatsächlich etwas in Ihrem geklonten leeren Repo begangen haben.

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

Zweitens, die git send-email doc nicht erwähnt:

--subject=<string> 

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

Stellen Sie sicher, --compose zu verwenden.

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

, die mit einem .patch funktionieren würde, nicht die Quelle selbst.
Siehe git format-patch und "How to send patches with git-send-email" für ein vollständigeres Beispiel:

Für die letzte commit:

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

Drittens eine einfachere Lösung zu use git bundle wäre. Das erzeugt eine Datei, die Sie beliebig senden können, und aus der der Empfänger ziehen/klonen kann. Es handelt sich (diese eine Datei) um ein blankes Git Repo.

+0

Dann sollte die http://status.bitbucket.org/git send-email -1' die ich erwähnen sollte funktionieren. Aber 'git bundle' ist einfacher. – VonC

+0

Ja Ich bin in der Lage, die E-Mail zu senden, aber die Betreffzeile ist nicht das, was ich eingegeben habe --subject, Es ändert sich zu der Zeile, die ich während git commit verwendet -m "line" – Haswell

+0

Auch ein [Patch] wird in der Betreffzeile hinzugefügt . Wird Git-Bundle das lösen können? – Haswell

Verwandte Themen