Apa Itu GitHub? Version Control untuk Non-Developer
GitHub adalah situs web yang menyimpan kode proyek perangkat lunak beserta riwayat lengkapnya, sehingga Anda bisa melihat setiap perubahan, membatalkan kesalahan, dan mengerjakan proyek yang sama bersama orang lain. GitHub dibangun di atas Git, perangkat lunak gratis yang mencatat snapshot file proyek dari waktu ke waktu. Git adalah alat yang menyimpan riwayatnya; GitHub adalah rumah online tempat riwayat itu dibagikan, dicadangkan, dan didiskusikan.
Jika Anda membangun dengan AI, GitHub terutama berguna untuk dua hal: memiliki salinan kode Anda di luar alat tempat Anda membangunnya, dan menyerahkannya kepada developer dalam format yang sudah mereka gunakan.
Mengapa ini penting saat membangun dengan AI
Pembuat aplikasi AI menulis dan mengubah banyak kode dengan cepat, dan tidak setiap perubahan itu merupakan perbaikan. Version control adalah cara Anda menjaga keamanan proses itu.
- Membatalkan dengan yakin. Setiap perubahan yang disimpan adalah sebuah snapshot. Jika AI merusak sesuatu, Anda kembali ke versi terakhir yang baik.
- Kepemilikan. Kode di akun GitHub Anda sendiri tetap menjadi milik Anda jika Anda berganti alat, berhenti berlangganan, atau ingin pendapat kedua.
- Bekerja dengan developer. Hampir semua developer menggunakan Git setiap hari. Sebuah repositori memungkinkan mereka meninjau apa yang ditulis AI, memperbaikinya, dan mengirim perubahan kembali.
- Deploy di tempat lain. Banyak platform hosting bisa melakukan deploy langsung dari repositori GitHub.
Analogi sehari-hari: track changes plus drive bersama
Bayangkan sebuah dokumen dengan fitur track changes yang aktif, disimpan di drive bersama.
- Git adalah track changes: setiap suntingan dicatat, lengkap dengan siapa yang membuatnya, kapan, dan mengapa, dan Anda bisa kembali ke versi mana pun.
- GitHub adalah drive bersama: dokumennya tersimpan online, orang lain bisa mendapatkan salinannya, dan ada tempat untuk memberi komentar serta menyetujui.
- Branch seperti menyimpan salinan berjudul “draf — bagian harga baru” agar Anda bisa bereksperimen tanpa mengubah versi yang diandalkan semua orang. Jika eksperimennya berhasil, Anda menggabungkannya kembali.
Perbedaannya dengan dokumen adalah skalanya. Sebuah aplikasi terdiri dari ratusan file, dan Git melacak semuanya bersama-sama, sehingga satu snapshot adalah kondisi seluruh proyek sekaligus.
Istilah Git dan GitHub yang akan Anda temui
| Istilah | Arti sederhana |
|---|---|
| Repository (repo) | Folder proyek beserta riwayat lengkapnya |
| Commit | Snapshot perubahan yang disimpan, dengan pesan singkat yang menjelaskannya |
| Branch | Jalur kerja yang terpisah, sehingga eksperimen tidak mengganggu versi utama |
| main | Nama yang umum untuk branch utama — versi yang akan dipublikasikan |
| Merge | Menggabungkan perubahan dari satu branch ke branch lain |
| Merge conflict | Dua perubahan menyentuh baris yang sama; seseorang harus memilih mana yang disimpan |
| Clone | Mengunduh salinan lengkap repositori, termasuk riwayatnya |
| Push / pull | Mengirim commit Anda ke GitHub / mengambil commit orang lain ke komputer Anda |
| Pull request (PR) | Halaman GitHub yang mengusulkan penggabungan sebuah branch, tempat orang meninjau dan berdiskusi |
| Fork | Salinan milik Anda atas repositori orang lain di GitHub |
| Issue | Daftar tugas atau laporan bug di GitHub yang terhubung dengan repositori |
.gitignore | Daftar file yang tidak boleh pernah dicatat Git, seperti rahasia .env dan dependensi yang diunduh |
| GitHub Actions | Otomatisasi yang berjalan di GitHub, misalnya pengujian di setiap pull request |
Ada dua poin yang perlu ditekankan. Pertama, riwayat Git bersifat permanen menurut desainnya: jika sebuah kata sandi sudah di-commit dan di-push, menghapusnya di commit berikutnya tidak menghilangkannya dari riwayat. Kedua, sebuah commit hanya berguna sejauh pesannya jelas. “Perbaiki penghitungan ganda booking saat dua orang memesan bersamaan” membantu Anda nanti; “update” tidak.
Contoh nyata: menyerahkan aplikasi buatan AI kepada freelancer
Anda membuat portal klien dengan pembuat aplikasi AI. Aplikasinya sudah berjalan, tetapi Anda ingin seorang freelancer developer menambahkan integrasi yang rumit dengan perangkat lunak akuntansi Anda.
- Hubungkan proyek ke repositori GitHub privat yang baru lalu lakukan push. Repositori sekarang berisi kode dan riwayatnya.
- Periksa isinya. Buka repositori di GitHub. Tidak boleh ada file
.envdan tidak boleh ada API key di dalam kode. Rahasia tetap disimpan di pengaturan platform Anda dan dibagikan kepada freelancer secara terpisah, jika memang perlu. Lihat environment variable dan rahasia. - Undang freelancer sebagai kolaborator hanya di repositori tersebut.
- Mereka bekerja di branch dengan nama seperti
accounting-sync, melakukan commit sepanjang proses, lalu membuka pull request setelah selesai. - Anda meninjau pull request. Meskipun tidak membaca kode, Anda bisa membaca deskripsinya, memeriksa file mana yang berubah, dan mengajukan pertanyaan lewat komentar.
- Merge setelah Anda puas, lalu pull perubahannya kembali ke pembuat aplikasi agar Anda dan AI melanjutkan dari versi baru.
Sepanjang proses ini, Anda bisa melihat dengan tepat apa yang berubah dan membatalkannya jika perlu. Itulah seluruh nilai version control dalam satu alur kerja. Jika Anda masih menimbang apakah perlu melibatkan developer, lihat menyewa developer atau membangun dengan AI.
Kesalahan dan kesalahpahaman umum
- “GitHub dan Git itu sama.” Git bisa berjalan tanpa GitHub; alternatif seperti GitLab dan Bitbucket juga meng-host repositori Git.
- “GitHub akan menjalankan aplikasi saya.” GitHub hanya menyimpan kode. Menjalankannya untuk publik adalah web hosting, layanan yang terpisah (meskipun sebagian host bisa deploy dari GitHub).
- Meng-commit rahasia. Ini kesalahan paling merusak dan paling umum. Gunakan
.gitignoreuntuk file.env, dan ganti setiap key yang pernah ter-push. - Hanya satu branch dan tanpa pesan. Tidak masalah untuk eksperimen sendirian, tetapi berikan pesan commit yang jelas dan gunakan branch untuk perubahan yang berisiko.
- Mengedit di dua tempat sekaligus. Jika Anda mengubah kode di GitHub dan di pembuat aplikasi AI tanpa melakukan pull di antaranya, akan muncul konflik. Pilih satu tempat untuk mengedit, dan sinkronkan sebelum berpindah.
- Mengira repositori privat adalah cadangan untuk segalanya. Repositori hanya berisi kode, bukan isi database atau file yang diunggah. Itu perlu cadangan tersendiri.
Yang sebaiknya Anda minta dari pembuat aplikasi AI
- “Tambahkan
.gitignoreyang mengecualikan.env, folder dependensi, dan output build.” - “Tulis README yang menjelaskan cara instalasi, variabel environment apa saja yang dibutuhkan (hanya nama), dan cara menjalankan aplikasi.”
- “Tambahkan
.env.exampledengan setiap nama variabel dan tanpa nilai asli.” - “Gunakan pesan commit yang jelas dan deskriptif untuk setiap perubahan.”
Empat permintaan itu menghasilkan repositori yang bisa dipahami developer dalam hitungan menit. Untuk memindahkan aplikasi ke server Anda sendiri, lihat cara mengekspor dan self-host aplikasi buatan AI, dan untuk memperkuatnya sebelum dipakai pengguna sungguhan, lihat membawa prototipe AI ke produksi.
GitHub dan Mythex
Mythex menyimpan riwayat untuk Anda di setiap paket: setelah setiap giliran agent yang berhasil, Mythex menyimpan checkpoint, yaitu snapshot Git yang bisa Anda kembalikan. Di paket Pro, Anda bisa menghubungkan GitHub dan melakukan push atau pull proyek ke repositori Anda sendiri, atau mengunduh seluruh proyek sebagai arsip; rahasia dan dependensi yang terpasang tidak ikut diekspor. GitHub di sini berfungsi untuk sinkronisasi kode, bukan untuk masuk ke Mythex. Lihat GitHub, ekspor dan impor di dokumentasi, dan halaman harga untuk mengetahui isi setiap paket.
Pertanyaan
Apa perbedaan antara Git dan GitHub?
Git adalah perangkat lunak gratis yang mencatat riwayat file sebuah proyek di komputer mana pun. GitHub adalah situs web, dimiliki oleh Microsoft, yang menyimpan repositori Git secara online dan menambahkan alat kolaborasi seperti pull request, issue, dan otomatisasi.
Apakah saya perlu GitHub untuk membangun aplikasi dengan AI?
Tidak. Banyak pembuat aplikasi AI menyimpan riwayat untuk Anda di dalam produknya. GitHub menjadi berguna ketika Anda ingin memiliki salinan kode sendiri, ingin bekerja sama dengan developer, atau berencana meng-host aplikasi di tempat lain.
Apakah GitHub gratis?
GitHub memiliki paket gratis yang mencakup repositori publik dan privat, yang cukup untuk sebagian besar individu dan tim kecil. Paket berbayar menambahkan manajemen tim dan fitur tambahan; cek halaman harga GitHub untuk detail terbaru.
Apakah kode saya bersifat publik di GitHub?
Hanya jika Anda menjadikan repositori tersebut publik. Repositori privat hanya bisa dilihat oleh Anda dan orang-orang yang Anda undang. Bahkan di repositori privat, jangan pernah meng-commit kata sandi atau API key.