git ekle. vs git commit -a


Yanıtlar:


139

git commit -aneredeyse [*] ile aynı anlama gelir git add -u && git commit.

Bu git add ., göz ardı edilmeyen izlenmeyen dosyaları eklemekle aynı şey değildir, git add -uyalnızca halihazırda izlenen dosyalara değişiklikleri (silme dahil) aşamalı olarak ekler .

[*] Deponuzun kök dizininde değilseniz, ince bir fark vardır. git add -uGeçerli dizin ve aşağıda dosyalara aşamaları güncellendiğinde, eşdeğer olduğunu git add -u .oysa git commit -aiçin aşamaları ve kaydedilmesini değişiklikleri tüm izlenen dosyalar.


3
[*] İçindeki davranış, tutarlılık için git 2.0'da değişecektir.
user1284631

2
Hangi yönde? yani commit -a -u eklentisi gibi mi olacak, yoksa -u eklentisi commit -a gibi mi olacak?
Miles Rout

5
@MilesRout: git add -ugibi olacak git commit -a; git add -u .Kastettiğin buysa açıkça söylemen gerekecek .
CB Bailey


13

git commit -aotomatik olarak git addbildiği tüm dosyalar üzerinde çalışır. git addHangi dosyaların işleneceğini seçmek için kullanabilirsiniz . Daha fazla bilgi için dokümanlara bakın: burada


11
bildiği tüm dosyalar benim için çok net değil, özellikle de bunların eklenmediği varsayıldığı için
Nikana Reklawyks

1
@alternative, "Hakkında bildiği tüm dosyalar" için bir açıklama eklerseniz yine de bu yanıt daha iyi olabilir .....
Pacerier

2
@Pacerier eşdeğergit add -u
alternatif

2
@ Z.Khullah, yani "tümü (...)" "izlenen dosyalar" anlamına mı geliyor?
TheFrost

1
@TheFrost kesinlikle!
Z. Khullah

1

Bilinen tüm dosyalardaki değişiklikleri otomatik olarak "eklemek" için commit komutuyla git commit -a anahtarını kullanarak (yani, dizinde zaten listelenmiş olan tüm dosyalar)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.