Apa perbedaan antara git add
, push
dan commit
?
Sedikit bingung datang dari SVN, di mana "update" akan 'menambahkan' barang, dan commit melakukan "push" dan akan 'menambahkan' juga
Ada semua fungsi berbeda di dalam git. Berharap penjelasan dari pengalaman Anda.
Jawaban:
git add
menambahkan file Anda yang telah dimodifikasi ke antrian untuk dikerjakan nanti . File tidak dikomitgit commit
melakukan 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 add
tidak pada gambar karena cara yang disarankan untuk melakukan adalah gabungangit commit -a
, tetapi Anda dapat menambahkan secara mentalgit add
ke blok perubahan untuk memahami alirannya.Terakhir, alasan mengapa
push
perintah terpisah adalah karenagit
filosofi.git
adalah sistem versi terdistribusi, dan direktori kerja lokal Anda adalah tempat penyimpanan Anda! Semua perubahan yang Anda lakukan akan langsung tercermin dan direkam.push
hanya 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.sumber
git add
memilih perubahangit commit
catatan berubah secara LOKALgit push
berbagi perubahansumber
git add
menambahkan file ke indeks Git, yang merupakan area pementasan untuk objek yang disiapkan untuk dikomit.git commit
melakukan file dalam indeks ke repositori,git commit -a
merupakan 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.
sumber
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.
sumber
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.
sumber
Menurut saya gambar ini sangat berarti:
(dari: Oliver Steele -My Git Workflow (2008) )
sumber
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.
sumber
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
sumber