Soal 1Manakah pernyataan yang benar tentang perbedaan antara menyimpan dengan menimpa dan melakukan commit?
Apa Itu Git — Mencatat Perubahan agar Kamu Bisa Kembali
Artikel ini adalah bagian dari kursus Dasar-Dasar Teknologi Informasi, yang membangun dari nol pengetahuan TI praktis yang minimal kamu butuhkan untuk memprogram dan melakukan vibe coding.
Menyimpan dengan menimpa tidak menyisakan keadaan sebelumnya. Diagram mengikuti alurnya, dari meninggalkan catatan lewat commit sampai mengambil titik sebelumnya dari catatan yang menumpuk di dalam repository.
Artikel ini membahas Git.
Git mencatat perubahan file sehingga kamu bisa kembali ke keadaan sebelumnya, dan menempatkan catatan itu di sebuah server membuat orang lain bisa berada di keadaan yang sama.
Catatan yang berjajar di ketiga tempat itu sama, dan server di tengahlah yang menyamakannya.
Apa yang dilakukan Git — meninggalkan catatan, dan membagikannya lewat remote
Mencatat perubahan file titik demi titik sehingga keadaan lama bisa diambil kembali disebut version control.
Tempat catatan itu disimpan adalah repository, repository yang sama yang ditempatkan di sisi server adalah remote repository, dan satu catatan adalah commit.
Layanan paling dikenal untuk menempatkan remote repository adalah GitHub dan GitLab, dan GitHub bukan Git itu sendiri; GitHub adalah tempat untuk menaruh remote repository.
- app.js dan style.css
- Menyimpan dengan menimpa mengganti isinya
- Commit berjajar dari yang paling lama
- git commit menambah satu
- Commit yang dikirim lewat git push berjajar di sini
- https://github.com/example/my-app.git adalah tempat itu
- Bisa dibaca dan ditulis dari komputer lain
Mengirim catatan di komputer kamu ke server disebut push, dan menarik masuk catatan yang ada di server disebut pull.
Karena ada server di tengah, isinya sama kapan pun rekan kerja menariknya.
Kata-kata soal Git yang muncul di instruksi terbagi menjadi tiga jenis.
Kolom kiri tetap di dalam komputer kamu, sedangkan kolom tengah dan kanan bertukar dengan GitHub.
Menyimpan dengan menimpa tidak meninggalkan keadaan lama — apa yang dicatat version control
Menyimpan dengan menimpa mengganti isi app.js dengan isi saat ini.
Tidak ada isi lama yang tersisa setelah penggantian itu, jadi sebanyak apa pun kamu menyimpan, kamu tidak bisa kembali ke keadaan sebelumnya.
| Yang kamu lakukan sebelum mengubah | Tempat isi lama berada | Setelah berhenti berjalan |
|---|---|---|
| Hanya menyimpan dengan menimpa | Tidak ada di mana pun | Tidak bisa kembali |
| Editor dibiarkan terbuka | Riwayat undo (hilang saat editor ditutup) | Perubahan selama editor terbuka bisa dibatalkan |
| Sudah menjalankan git commit | Catatan di repository | Bisa kembali kapan saja |
Hanya kalau kamu sudah melakukan commit, isi lama tetap ada di repository.
Satu-satunya pembeda adalah apakah kamu menjalankan git commit sekali sebelum mengubahnya.
Satu perintah itu menciptakan titik yang bisa kamu tuju kembali.
Hanya commit yang meninggalkan catatan
Menyimpan dengan menimpa mengganti isi lama dengan isi saat ini, dan yang terhapus tidak tersisa di mana pun di komputer.
Commit menambahkan satu catatan berisi app.js apa adanya pada titik itu, tanpa menghapus apa pun, jadi ketika semuanya berhenti berjalan, titik yang bisa kamu tuju kembali hanyalah titik yang sudah kamu commit.
Commit punya dua tahap: pilih perubahan yang akan dicatat, lalu tinggalkan catatannya
Commit terbagi menjadi dua tahap: kamu memilih dulu, lalu mencatat setelahnya.
Tahap kamu memilih dan mendaftarkan perubahan adalah staging (tahap memilih dan mendaftarkan perubahan yang masuk ke dalam commit), dan karena dua tahap ini, ada tiga tempat penyimpanan di dalam folder my-app.
- app.js — isi yang sekarang terbuka di editor
- style.css — file yang menuliskan tampilan layar
- Menyimpan dengan menimpa mengganti isi di sini
- Berisi perubahan yang dipilih lewat git add
- Kembali kosong saat kamu menjalankan git commit
- Commit berjajar dari yang paling lama
- git commit menambah satu
Perubahan berpindah dari atas ke bawah lewat dua langkah: git add dan git commit.
Perubahan pada index.html yang tidak kamu pilih tidak hilang, dan kamu bisa memilihnya lain kali.
Langkah memeriksa sebelum mencatat muncul sebagai tiga baris berikut.
# Periksa file yang sudah kamu ubah
git status
# Pilih dan daftarkan perubahan yang akan dicatat
git add app.js
# Catat perubahan yang dipilih dengan pesan singkat
git commit -m "Tambah layar login"
Menjalankan git status akan menampilkan nama file yang kamu ubah, dan git log menampilkan daftar catatannya.
Kalau kamu menjalankan git commit tanpa menjalankan git add, tidak ada perubahan yang dipilih, jadi tidak ada catatan yang dibuat.
Pilih apa yang akan dicatat sebelum mencatatnya
Commit punya dua tahap: memilih dan mencatat.
git add memilih perubahan yang masuk ke catatan ini dan git commit mengubah hanya yang kamu pilih menjadi satu catatan, jadi kalau kamu lupa tahap memilihnya, tidak ada satu pun catatan yang bertambah.
Repository berada di dalam folder, dengan commit berjajar dari yang paling lama
Folder khusus yang menyimpan repository dibuat pada saat kamu menjalankan git init, yang memulai pencatatan di folder itu.
Setiap kali kamu melakukan commit, catatan di dalamnya bertambah satu.
- app.js seperti saat kamu membuat layarnya
- Tanggal dan waktu serta pesan "Buat layar"
- app.js dan style.css seperti saat kamu menambahkan kolom input
- Tanggal dan waktu serta pesan "Tambah kolom input"
- app.js yang paling baru dicatat
- Tanggal dan waktu serta pesan "Tambah layar login"
Kembali berarti memilih satu dari catatan yang berjajar di sana dan mengganti app.js yang sedang kamu kerjakan dengan isinya.
Untuk file yang tidak ingin kamu catat, kamu bisa menuliskan namanya di file pengaturan bernama .gitignore di dalam folder itu.
Ini membuat file yang belum pernah dicatat tidak ikut tercatat, dan tidak berpengaruh pada file yang sudah pernah dicatat.
Catatan tidak hilang; catatan berjajar dari yang paling lama
Repository berada di dalam folder khusus yang ada di folder my-app.
Setiap kali kamu melakukan commit catatan bertambah satu, dan catatan sebelumnya tidak pernah ditulis ulang, jadi kembali berarti memilih satu dari catatan yang berjajar di sana dan membuat file saat ini berisi isinya.
Cek Pemahaman
Jawab setiap pertanyaan satu per satu.
Soal 2Commit terbagi menjadi dua tahap. Tahap mana yang datang sebelum catatan ditinggalkan?
Soal 3Operasi mana yang mengirim commit yang tersimpan di repository di komputer kamu ke remote repository di sebuah server?