Perbedaan antara Komit, Komit dan Push, Komit dan Sinkronisasi

149

Saya menggunakan visual studio 2013, dan saya dihadapkan dengan 3 opsi ketika saya mengkomit kode C # saya. Saya perlu penjelasan tentang perbedaan antara masing-masing opsi sehubungan dengan apa yang terjadi pada repo lokal saya versus repo GitHub.

  • Opsi 1 mengatakan Komit
  • Opsi 2 mengatakan Komit dan Dorong
  • Opsi 3 mengatakan Komit dan Sinkronisasi

Saya tidak begitu mengerti perbedaan antara 2 opsi terakhir. Kapan saya harus menggunakan Komit dan Sinkronisasi sebagai lawan Komit dan Push?

Alfred Waligo
sumber

Jawaban:

216
  1. Komit hanya akan mencatat perubahan yang Anda buat di mesin lokal Anda. Itu tidak akan menandai perubahan di repositori jarak jauh.
  2. Commit dan Push akan melakukan hal di atas dan mendorongnya ke repositori jarak jauh. Ini berarti bahwa setiap perubahan yang telah Anda buat akan disimpan ke repositori jarak jauh juga.
  3. Komit dan Sinkronisasi melakukan tiga hal. Pertama, itu akan dilakukan. Kedua, ia akan melakukan tarikan (mengambil informasi yang diperbarui dari repo jarak jauh). Akhirnya, itu akan mendorong.

Lihat lebih banyak dari Microsoft di sini

camiblanch
sumber
Saya benar-benar tidak mendapatkan "Komit dan Sinkronisasi" Pertama, itu akan melakukan. Kedua, ia akan melakukan tarikan. Akhirnya, itu akan mendorong. Mengapa push diperlukan di sini ketika perubahan kode sudah dilakukan ke repositori jarak jauh (Tidak ada perubahan untuk mendorong).
Bhuwan Pandey
6
@BhuwanPandey Melakukan "komit" tidak termasuk "desakan". Mereka terpisah. Hanya "push" yang akan memperbarui komit Anda ke repositori jarak jauh. Lihat gambar di jawaban lain untuk melihat itu. "
Commit" berpindah
Dapatkah operasi Sinkronisasi menyebabkan konflik ketika banyak pengguna bekerja secara bersamaan ke dalam aplikasi?
Murali Dhar Darshan
Saya menggunakan Visual Studio 2017, dan perintah Komit dan Sinkronisasi tidak sepenuhnya mendorong perubahan Anda. Saya mengatakan itu karena dengan melakukan Sinkronisasi, perubahan saya diperlihatkan di tab histori di Visual Studio, tetapi di situs Github itu tidak muncul. Saya harus melakukan perintah Push setelah Commig dan Sync, dan kemudian perubahan saya muncul di situs Github.
Fabiano
Saya pikir kebingungan berasal dari pemikiran Commit mengirim file ke repositori jarak jauh. Faktanya, Komit hanya merekam hasil edit Anda dengan repositori lokal. Tanpa Push itu tidak pernah mengenai server.
Alan Baljeu
72

Untuk menambah jawaban camieblanch. Saya menemukan gambar / posting yang membantu ini dari tanascius (di sini ). "Ini gambar yang bagus dari Oliver Steele, yang menjelaskan model git dan perintahnya:" masukkan deskripsi gambar di sini

A.sharif
sumber
1
Tapi di mana Sync di gambar ini?
Alan Baljeu
2
Itu tidak ada dalam gambar. Jika Anda merujuk kembali ke jawaban "camiblanch". Ini berkomitmen untuk repo lokal Anda, tarik untuk menyinkronkan (menggabungkan) repo jarak jauh dengan repo lokal Anda dan kemudian mendorong repo lokal gabungan ke repo jarak jauh.
A.sharif