Yanıtlar:
Hem giriş hem de çıkış farklıdır:
git apply
Bir yama (ör çıkış alır git diff
) ve çalışma dizinine uygular (veya dizin, eğer --index
ya --cached
kullanılır).git am
e-posta mesajları (örneğin çıktısı git format-patch
) olarak biçimlendirilmiş taahhütlerin posta kutusunu alır ve bunları geçerli şubeye uygular.git am
git apply
perde arkasında kullanır , ancak önce (a Maildir
veya okuma mbox
ve e-posta iletilerini ayrıştırma) ve sonra (taahhüt oluşturma) daha fazla iş yapar .
git apply
da kabul ediyor gibi görünüyor git format-patch
.
git apply
çıktılar için de işe yarayacaktır git format-patch
ancak değişikliklerin etiketsiz olması ve taahhüt edilmesi gerekecektir (böylece uygulandıkları dizinde farklı bir taahhüt noktası oluşturmak). Bununla birlikte git am
, taahhüt bilgisini (yazarla birlikte vb.) Uygulandığı dizine taşırsınız. git apply
sonra repo yama (kötü), git am
yasal özellik değişiklikleri alabilir ve repo dahil edebilirsiniz (tercih edilen yaklaşım).
git apply
mbox veya Maildir biçimindeki e-postaların yamalarını ve sıralarını uygulamak ve "karşıt" ı git diff
ise düz farkları (örn. ) git am
uygulamak içindir git format-patch
. git am
taahhüt mesajlarını ve yazar detaylarını e-posta mesajlarından çıkarmaya çalışır, bu yüzden taahhütte bulunabilir.
İle git am
yamayı uygula kullanmak eğer öyleyse git status
, herhangi bir yerel değişiklikleri görmez.
git apply
kaynak dosyalarda değişiklikleri kodu kendiniz yazıyormuş gibi yapmanıza olanak tanır git status
ve sonuç olarak git diff
uyguladığınız düzeltme ekinde yapılan değişiklikleri çıktılar, ardından daha fazla değişiklik düzeltebilir / ekleyebilir ve bunları yeni bir düzeltme eki olarak birlikte gönderebilirsiniz .
am
kısaltması olarak düşünülebilirApply Mail
...