tidak ada jawaban karena sudah disediakan. hanya sebuah pengamatan. Menurut saya komit harus benar-benar disebut save dan push harus disebut komit. Masalah skenario penamaan klasik.
dublinx
Jawaban:
1619
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)
@ben github hanyalah satu solusi untuk meng-host repositori publik Anda, "on-the-cloud", untuk 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 .
Santa
2
jadi ... apakah Anda perlu mendorong dulu atau melakukan dulu?
Kokodoko
5
@Piet dimulai di ruang kerja Anda, tempat Anda memodifikasi file. Kemudian Anda menambahkan mereka ke indeks, komit mereka ke repositori lokal dan - akhirnya - dorong mereka ke repositori jarak jauh
tanascius
2
@ Mr.Hyde tidak, itu tidak mungkin. Git sebagai kontrol versi terdistribusi mengharuskan Anda memiliki salinan lokal.
tanascius
215
commit : menambahkan perubahan ke repositori lokal
push : untuk mentransfer komit terakhir ke server jarak jauh
ini adalah hari kedua saya menggunakan GIT. Ketika saya melihat jawaban di atas, saya masih belum mendapatkan gambaran yang jelas, tetapi jawaban Anda hanya berhasil. Terima kasih.
Bopha
1
Apakah git pushmengunggah file yang sebenarnya diperbarui atau beberapa file "diff" khusus?
multigoodverse
27
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 .
Jawaban Anda pada dasarnya identik dengan jawaban ini , tidak menambahkan sesuatu yang baru.
7
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
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
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
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.
Beberapa orang mungkin ingin memaksakan dorongan daripada menarik. Itu tergantung situasi. Bahkan, jika Anda rebared melakukan pada cabang yang tidak Anda bagikan dengan orang lain (bahkan pada repo jarak jauh), maka menarik tentu bukan apa yang ingin Anda lakukan.
Jawaban:
Pada dasarnya
git commit
" mencatat perubahan ke repositori " sementaragit 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
dangit pull
di GitReady.com (artikel yang saya referensikan dulu)sumber
git push
digunakan. Pada kenyataannya, tujuan dari repositori gitgit 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
ataugit push ~/proj/clone.git master
, misalnya), atau repositori git yang dilayani oleh host Anda sendiri .commit : menambahkan perubahan ke repositori lokal
push : untuk mentransfer komit terakhir ke server jarak jauh
sumber
Yah, pada dasarnya git commit menempatkan perubahan Anda ke dalam repo lokal Anda, sementara git push mengirim perubahan Anda ke lokasi yang jauh.
sumber
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 dengannyagit pull
, memungkinkan orang untuk berkolaborasi.sumber
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
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 .sumber
git commit
rekam perubahan Anda ke repositori lokal .git push
memperbarui yang terpencil repositori dengan perubahan lokal Anda.sumber
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
sumber
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:
sumber
Analogi yang sangat kasar: jika kita membandingkan
git commit
dengan menyimpan file yang diedit, makagit 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.
sumber
Lebih mudah untuk memahami penggunaan perintah git
add
dancommit
jika Anda membayangkan file log dipelihara dalam repositori Anda di Github. File log khas proyek untuk saya mungkin terlihat seperti:Saya biasanya memulai hari saya dengan
git pull
permintaan dan mengakhirinya dengangit 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. Thegit 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:
Singkatnya,
git add
dangit 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.sumber
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)
sumber
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
https://git-scm.com/docs/git-commit
sumber
dalam istilah awam,
git commit
adalah langkah sebelumgit push
Anda menjalankannya agar berhasil git file Anda ke github.sumber
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 melakukannyapull
agar Anda berhasilgit push
.sumber