Dalam tutorial Git yang saya alami, git commitdigunakan untuk menyimpan perubahan yang telah Anda buat.
Apa yang git pushdigunakan untuk itu?
Dalam tutorial Git yang saya alami, git commitdigunakan untuk menyimpan perubahan yang telah Anda buat.
Apa yang git pushdigunakan untuk itu?
Jawaban:
Pada dasarnya git commit" mencatat perubahan ke repositori " sementara git push" memperbarui referensi jarak jauh bersama dengan objek terkait ". Jadi yang pertama digunakan sehubungan dengan repositori lokal Anda, sedangkan yang terakhir digunakan untuk berinteraksi dengan repositori jarak jauh.
Ini adalah gambar yang bagus dari Oliver Steele , yang menjelaskan model git dan perintahnya:

Baca lebih lanjut tentang git pushdan git pulldi GitReady.com (artikel yang saya referensikan dulu)
git pushdigunakan. Pada kenyataannya, tujuan dari repositori git git pushdapat berupa apa saja . Itu bisa di hard drive lokal Anda sendiri di direktori lain ( git remote add clone ~/proj/clone.git; git push clone masteratau git push ~/proj/clone.git master, misalnya), atau repositori git yang dilayani oleh host Anda sendiri .
Yah, pada dasarnya git commit menempatkan perubahan Anda ke dalam repo lokal Anda, sementara git push mengirim perubahan Anda ke lokasi yang jauh.
git pushmengunggah file yang sebenarnya diperbarui atau beberapa file "diff" khusus?
git pushdigunakan untuk menambahkan komit yang telah Anda lakukan pada repositori lokal ke repositori jarak jauh - bersama-sama dengannya git pull, memungkinkan orang untuk berkolaborasi.
Karena git adalah sistem kontrol versi terdistribusi, perbedaannya adalah bahwa komit akan melakukan perubahan pada repositori lokal Anda, sedangkan push akan mendorong perubahan hingga repo jarak jauh.
Komit : Snapshot | Changeset | Rekam Riwayat | Versi | 'Save-as' dari repositori. Git repositori = seri (pohon) dari commit .
Repositori lokal : repositori di komputer Anda.
Repositori jarak jauh : repositori di server ( Github ).
git commit: Tambah baru komit (terakhir komit + dipentaskan modifikasi) ke lokal repositori. (Semua komit disimpan dalam /.git)
git push, git pull: Menyinkronkan repositori lokal dengan repositori jarak jauh yang terkait . push- terapkan perubahan dari lokal ke jarak jauh , pull- terapkan perubahan dari jarak jauh ke lokal .
git commitrekam perubahan Anda ke repositori lokal .
git push memperbarui yang terpencil repositori dengan perubahan lokal Anda.
Tiga hal yang perlu diperhatikan:
1) Direktori Kerja ----- folder tempat file kode kita ada
2) Repositori Lokal ------ Ini ada di dalam sistem kami. Ketika kita pertama kali membuat perintah COMMIT maka Repositori Lokal ini dibuat. di tempat yang sama dengan direktori kerja kami,
file Checkit (.git) dibuat.
Setelah itu ketika kita melakukan commit, ini akan menyimpan perubahan yang kita buat dalam file Direktori Kerja ke Repositori lokal (.git)
3) Repositori Jarak Jauh ----- Ini terletak di luar sistem kami seperti pada server yang berlokasi di mana saja di dunia. seperti github. Ketika kita membuat perintah PUSH maka kode dari repositori lokal kita disimpan ke Repositori Jarak Jauh ini
Hanya ingin menambahkan poin berikut:
Yon tidak dapat mendorong sampai Anda berkomitmen seperti yang kita gunakan git pushuntuk mendorong komit yang dibuat pada cabang lokal Anda ke repositori jarak jauh.
The git pushperintah membutuhkan dua argumen:
Nama jarak jauh, misalnya, origin
Nama cabang, misalnya,master
Sebagai contoh:
git push <REMOTENAME> <BRANCHNAME>
git push origin master
Analogi yang sangat kasar: jika kita membandingkan git commitdengan menyimpan file yang diedit, maka git pushakan menyalin file itu ke lokasi lain.
Tolong jangan mengambil analogi ini dari konteks ini - melakukan dan mendorong tidak seperti menyimpan file yang diedit dan menyalinnya. Yang mengatakan, itu harus dilakukan demi perbandingan.
Lebih mudah untuk memahami penggunaan perintah git adddan commitjika Anda membayangkan file log dipelihara dalam repositori Anda di Github. File log khas proyek untuk saya mungkin terlihat seperti:
---------------- Day 1 --------------------
Message: Completed Task A
Index of files changed: File1, File2
Message: Completed Task B
Index of files changed: File2, File3
-------------------------------------------
---------------- Day 2 --------------------
Message: Corrected typos
Index of files changed: File3, File1
-------------------------------------------
...
...
...and so on
Saya biasanya memulai hari saya dengan git pullpermintaan dan mengakhirinya dengan git pushpermintaan. Jadi semua yang ada dalam catatan hari sesuai dengan apa yang terjadi di antara mereka. Setiap hari, ada satu atau lebih tugas logis yang saya selesaikan yang memerlukan perubahan beberapa file. File yang diedit selama tugas itu tercantum dalam indeks.
Masing-masing sub tugas ini (Tugas A dan Tugas B di sini) adalah komitmen individu. The git addperintah menambahkan file ke daftar 'Index File Berubah'. Proses ini juga disebut pementasan dan dalam kenyataannya mencatat file yang diubah dan perubahan yang dilakukan. The git commitcatatan perintah / memfinalisasi perubahan dan daftar indeks yang sesuai bersama dengan pesan khusus yang dapat digunakan untuk referensi nanti.
Ingatlah bahwa Anda masih hanya mengubah salinan lokal dari repositori Anda dan bukan yang ada di Github. Setelah ini, hanya ketika Anda melakukan git pushsemua perubahan yang direkam ini, bersama dengan file indeks Anda untuk setiap komit, login di repositori utama (di Github).
Sebagai contoh, untuk mendapatkan entri kedua dalam file log imajiner itu, saya akan melakukan:
git pull
# Make changes to File3 and File4
git add File3 File4
# Verify changes, run tests etc..
git commit -m 'Corrected typos'
git push
Singkatnya, git adddan git commitmemungkinkan Anda memecah perubahan ke repositori utama menjadi sub-perubahan logis sistematis. Seperti yang telah ditunjukkan oleh jawaban dan komentar lainnya, ada banyak manfaat lain yang dapat digunakan. Namun, ini adalah salah satu penggunaan paling umum dan prinsip penggerak di belakang Git menjadi sistem kontrol revisi multi-tahap tidak seperti yang populer lainnya seperti Svn.
git commit tidak lain hanyalah menyimpan perubahan kita secara resmi, untuk setiap commit yang kita berikan pesan commit, setelah kita selesai dengan commit kita bisa mendorongnya ke jarak jauh untuk melihat perubahan kita secara global
yang berarti kita dapat melakukan banyak komit sebelum kita mendorong ke jarak jauh (kita dapat melihat daftar komit terjadi dan pesan juga) git menyimpan setiap komit dengan id komit yang merupakan kode 40 digit
dan saya menggunakan git push hanya ketika saya ingin melihat perubahan saya di remote (Di sana setelah saya akan memeriksa apakah kode saya bekerja di jenkins)
Yah, pada dasarnya git commit menempatkan perubahan Anda ke dalam repo lokal Anda, sementara git push mengirim perubahan Anda ke lokasi yang jauh. Karena git adalah sistem kontrol versi terdistribusi, perbedaannya adalah bahwa komit akan melakukan perubahan pada repositori lokal Anda, sedangkan push akan mendorong perubahan hingga repo jarak jauh
sumber Google
http://gitref.org/basic/ tautan ini akan sangat berguna juga
dalam istilah awam, git commitadalah langkah sebelum git pushAnda menjalankannya agar berhasil git file Anda ke github.
git commitadalah untuk mengkomit file yang dipentaskan di repo lokal. git pushadalah untuk maju cepat menggabungkan cabang master sisi lokal dengan cabang master jarak jauh. Tetapi penggabungan tidak selalu berhasil. Jika penolakan muncul, Anda harus melakukannya pullagar Anda berhasil git push.