09 Juni 2020

Git/GitHub: Kondisi Balapan Saat COMMIT

Kondisi balapan (race-condition) pada git/github dapat terjadi jika ada lebih dari satu pihak yang mengubah berkas yang sama.

Misalnya, Cicak Bin Kadal (CBKadal) dan Dummy Surimmy (Dummy) sama-sama ingin mengisi absen, "HADIR".

CBKadal dan Dummy mengisi ABSEN bersamaan.


Lalu mereka sama-sama "COMMIT".


Pada sistem berbasis WEB (GitHub), hanya yang duluan yang akan berhasil commit. Yang belakangan akan mendapatkan pesan sebagai berikut:

Peringatan bahwa ada yang COMMIT duluan!

Kalau demikian JIKA ANDA MEMAKSA COMMIT, maka akan menimpa COMMIT sebelumnya. Seharusnya anda melakukan edit ulang terlebih dahulu sebelum commit. 

Pada sistem berbasis Command Line Interface (CLI), anda tetap dapat COMMIT, namun akan mengalami kesulitan pada saat push.

Berikut contoh di "BADAK":

CBKadal dan Dummy dapat sama-sama COMMIT

CBKadal dan Dummy sama-sama akan dapat commit pada repositori lokal. Namun, hanya push yang duluan yang akan sukses.

Yang duluan, "git push" akan SUKSES!


Gagal "git push"


Seperti yang tertulis pada pesan "git", dianjurkan "git pull" terlebih dahulu sebelum "git push".


DISCLAIMER


This is HOW Me Do IT! Grrr... this blog memo is mainly written for OWN PURPOSES. This post is based on "Google Here, There, and Everywhere". Whether this is PLAGIARY or RESEARCH, there has never been a claim that this is an original work, nor is it necessarily the best solution, and not for Scopus consumption :). Please provide feedback, especially if you have alternative explanations. Hopefully, this note will be helpful in the future when you have forgotten how to solve this trivia problem.


DISKLAIMER


INIlah yang KUlakukan! Grrr... memo blog ini terutama ditulis untuk KEPERLUAN SENDIRI. Tulisan ini berbasis "Google Sana, Google Sini, Coba Itu, Coba Ini, Lalu Tanya-tanyi". Entah ini PLAGIAT, entah ini RISET, yang jelas tidak pernah ada klaim bahwa ini merupakan karya asli, serta belum tentu pula merupakan solusi terbaik, serta bukan untuk konsumsi Scopus :). Mohon kiranya memberikan tanggapan, terutama jika memiliki solusi alternatif. Semoga catatan ini akan bermanfaat di masa mendatang, saat sudah lupa cara menyelesaikan masalah trivia ini.

This is the Way!

Tidak ada komentar:

Posting Komentar