Dalam tutorial Git yang saya alami, git commit
digunakan untuk menyimpan perubahan yang telah Anda buat.
Apa yang git push
digunakan untuk itu?
Dalam tutorial Git yang saya alami, git commit
digunakan untuk menyimpan perubahan yang telah Anda buat.
Apa yang git push
digunakan 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 push
dan git pull
di GitReady.com (artikel yang saya referensikan dulu)
git push
digunakan. Pada kenyataannya, tujuan dari repositori git git push
dapat berupa apa saja . Itu bisa di hard drive lokal Anda sendiri di direktori lain ( git remote add clone ~/proj/clone.git; git push clone master
atau 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 push
mengunggah file yang sebenarnya diperbarui atau beberapa file "diff" khusus?
git push
digunakan 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 commit
rekam 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 push
untuk mendorong komit yang dibuat pada cabang lokal Anda ke repositori jarak jauh.
The git push
perintah 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 commit
dengan menyimpan file yang diedit, maka git push
akan 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 add
dan commit
jika 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 pull
permintaan dan mengakhirinya dengan git push
permintaan. 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 add
perintah 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 commit
catatan 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 push
semua 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 add
dan git commit
memungkinkan 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 commit
adalah langkah sebelum git push
Anda menjalankannya agar berhasil git file Anda ke github.
git commit
adalah untuk mengkomit file yang dipentaskan di repo lokal. git push
adalah untuk maju cepat menggabungkan cabang master sisi lokal dengan cabang master jarak jauh. Tetapi penggabungan tidak selalu berhasil. Jika penolakan muncul, Anda harus melakukannya pull
agar Anda berhasil git push
.