Jawaban:
git addmenambahkan file Anda yang telah dimodifikasi ke antrian untuk dikerjakan nanti . File tidak dikomit
git commitmelakukan file yang telah ditambahkan dan membuat revisi baru dengan log ... Jika Anda tidak menambahkan file apa pun, git tidak akan melakukan apa pun. Anda dapat menggabungkan kedua tindakan tersebut dengangit commit -a
git push mendorong perubahan Anda ke repositori jarak jauh.
Gambar dari lembar contekan git ini memberikan gambaran yang bagus tentang alur kerja

git addtidak pada gambar karena cara yang disarankan untuk melakukan adalah gabungan git commit -a, tetapi Anda dapat menambahkan secara mental git addke blok perubahan untuk memahami alirannya.
Terakhir, alasan mengapa pushperintah terpisah adalah karena gitfilosofi. gitadalah sistem versi terdistribusi, dan direktori kerja lokal Anda adalah tempat penyimpanan Anda! Semua perubahan yang Anda lakukan akan langsung tercermin dan direkam. pushhanya digunakan untuk memperbarui repo jarak jauh (yang mungkin Anda bagikan dengan orang lain) ketika Anda selesai dengan apa pun yang sedang Anda kerjakan. Ini adalah cara yang rapi untuk bekerja dan menyimpan perubahan secara lokal (tanpa overhead jaringan) dan memperbaruinya hanya saat Anda mau, bukan setiap komit. Ini secara tidak langsung menghasilkan komit / percabangan dll yang lebih mudah (mengapa tidak, bukan? Berapa biayanya?) Yang mengarah ke lebih banyak save point, tanpa mengacaukan repositori.
git add menambahkan file ke indeks Git, yang merupakan area pementasan untuk objek yang disiapkan untuk dikomit.git commitmelakukan file dalam indeks ke repositori, git commit -amerupakan jalan pintas untuk menambahkan semua file terlacak yang dimodifikasi ke indeks terlebih dahulu.git push mengirim semua perubahan yang tertunda ke repositori jarak jauh tempat cabang Anda dipetakan (mis. di GitHub).Untuk memahami Git, Anda perlu menginvestasikan lebih banyak upaya daripada hanya melihat-lihat dokumentasi, tetapi itu pasti sepadan. Hanya saja, jangan mencoba memetakan perintah Git secara langsung ke Subversion, karena kebanyakan dari mereka tidak memiliki mitra langsung.
Saya bingung tentang apa sebenarnya 'tambah' itu. Saya baru saja membaca paragraf yang sangat mencerahkan dari buku Git Pro yang ingin saya tambahkan di sini, karena menjelaskan banyak hal
“Ternyata Git mementaskan file persis seperti saat Anda menjalankan perintah git add. Jika Anda komit sekarang, versi benchmark.rb seperti saat terakhir Anda menjalankan perintah git add adalah bagaimana perintah itu akan masuk ke komit, bukan versi file seperti yang terlihat di direktori kerja Anda saat Anda menjalankan git komit. Jika Anda mengubah file setelah menjalankan git add, Anda harus menjalankan git add lagi untuk membuat versi file terbaru: ”
Kutipan Dari: Chacon, Scott. Pro Git. Springer, 2009-08-19T00: 00: 00 + 00: 00. iBooks. Materi ini mungkin dilindungi oleh hak cipta.
add memberi tahu git untuk mulai melacak file.
komit melakukan perubahan Anda saat ini pada repositori lokal Anda
push mendorong repo lokal Anda ke atas.
PDF yang sangat bagus tentang banyak rahasia GIT.
Add sama dengan svn's add (terkadang terkadang digunakan untuk menandai file terselesaikan).
Komit juga sama dengan svn, tetapi komit perubahan ke repositori lokal Anda.
add -in git digunakan untuk memberi tahu git file mana yang ingin kita komit, ini meletakkan file ke area pementasan
commit- in git digunakan untuk menyimpan file ke mesin lokal sehingga jika kami membuat perubahan atau bahkan menghapus file, kami masih dapat memulihkan file berkomitmen kami
push - jika kita memasukkan file kita ke mesin lokal, file tersebut masih cenderung hilang jika mesin lokal kita hilang, rusak, dll, untuk menjaga file kita tetap aman atau untuk berbagi file kita biasanya kita ingin menyimpan file kita di remote repositori seperti Github. Untuk menghemat repositori jarak jauh kami menggunakan push
contoh Pementasan file bernama index.html git add index.html
Mengkomit file yang dipentaskan git commit -m 'nama komit Anda'
Mendorong file ke master asal Github git push