git add. vs git commit -a


Jawaban:


139

git commit -aartinya hampir [*] sama dengan git add -u && git commit.

Ini tidak sama karena git add .ini akan menambahkan file yang tidak terlacak yang tidak diabaikan, git add -uhanya perubahan tahapan (termasuk penghapusan) ke file yang sudah dilacak.

[*] Ada perbedaan kecil jika Anda tidak berada di direktori root repositori Anda. git add -utahapan memperbarui file di direktori saat ini dan di bawahnya, itu sama dengan git add -u .sedangkan git commit -atahapan dan melakukan perubahan ke semua file yang dilacak.


3
Perilaku di [*] akan berubah di git 2.0, untuk konsistensi.
pengguna1284631

2
Ke arah mana yaitu akan komit -a menjadi seperti tambah -u, atau akankah tambah -u menjadi seperti komit -a?
Miles Rout

5
@MilesRout: git add -uakan menjadi seperti git commit -a; Anda perlu mengatakan secara eksplisit git add -u .apakah itu yang Anda maksud.
CB Bailey

Ini benar-benar sama sejak Git v 2.0 di mana git add .berperilaku dengan cara yang berbeda.
Nick Volynkin

13

git commit -asecara otomatis memanggil git addsemua file yang diketahuinya. Anda dapat menggunakan git adduntuk memilih file apa yang akan digunakan. Konsultasikan dokumen untuk info lebih lanjut: di sini


11
semua file yang diketahuinya sangat tidak jelas bagi saya, terutama karena itu seharusnya TIDAK ditambahkan
Nikana Reklawyks

1
@alternative, Tetap saja jawaban ini dapat bekerja lebih baik jika Anda menambahkan klarifikasi untuk "semua file yang diketahuinya" .....
Pacerier

2
@Pacerier setara dengangit add -u
alternatif

2
@ Z.Khullah, jadi "semua (...)" berarti "file terlacak"?
TheFrost

1
@TheFrost tepatnya!
Z. Khullah

1

Dengan menggunakan git commit -a switch dengan perintah komit untuk secara otomatis "menambahkan" perubahan dari semua file yang dikenal (yaitu semua file yang sudah terdaftar di indeks)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.