Apa Itu GitHub? Kawalan Versi untuk Bukan Pembangun
GitHub ialah laman web yang menyimpan kod untuk projek perisian beserta sejarah lengkapnya, supaya anda boleh melihat setiap perubahan, membetulkan kesilapan, dan bekerja pada projek yang sama bersama orang lain. Ia dibina di atas Git, perisian percuma yang merekod gambar pantas fail projek dari masa ke masa. Git ialah alat yang menyimpan sejarah; GitHub ialah rumah dalam talian tempat sejarah itu dikongsi, disimpan sebagai sandaran dan dibincangkan.
Jika anda membina dengan AI, GitHub pada dasarnya berkaitan dua perkara: memiliki salinan kod anda di luar alat yang anda gunakan untuk membinanya, dan menyerahkannya kepada pembangun dalam format yang sudah mereka gunakan.
Mengapa ia penting apabila membina dengan AI
Pembina aplikasi AI menulis dan menukar banyak kod dengan pantas, dan tidak setiap perubahan itu penambahbaikan. Kawalan versi ialah cara anda memastikannya selamat.
- Buat asal dengan yakin. Setiap perubahan yang disimpan ialah satu gambar pantas. Jika AI merosakkan sesuatu, anda kembali ke versi baik yang terakhir.
- Pemilikan. Kod dalam akaun GitHub anda sendiri kekal milik anda jika anda bertukar alat, berhenti membayar untuk satu alat, atau mahukan pendapat kedua.
- Bekerja dengan pembangun. Hampir setiap pembangun menggunakan Git setiap hari. Repositori membolehkan mereka menyemak apa yang AI tulis, membetulkannya, dan menghantar perubahan semula.
- Menggunakan di tempat lain. Banyak platform hosting boleh melancarkan aplikasi terus daripada repositori GitHub.
Analogi harian: jejak perubahan ditambah pemacu kongsi
Bayangkan dokumen dengan jejak perubahan dihidupkan, disimpan dalam pemacu kongsi.
- Git ialah jejak perubahan: setiap suntingan direkodkan, dengan siapa yang membuatnya, bila dan kenapa, dan anda boleh kembali ke mana-mana versi.
- GitHub ialah pemacu kongsi: dokumen itu tinggal dalam talian, orang lain boleh mendapat salinan, dan ada tempat untuk memberi ulasan dan meluluskan.
- Cawangan (branch) seperti menyimpan salinan bernama “draf — bahagian harga baharu” supaya anda boleh mencuba tanpa menyentuh versi yang semua orang bergantung padanya. Jika percubaan itu berjaya, anda gabungkannya kembali.
Perbezaannya dengan dokumen ialah skala. Sebuah aplikasi mempunyai ratusan fail, dan Git menjejaki kesemuanya bersama-sama, jadi satu gambar pantas ialah keadaan seluruh projek pada satu masa.
Istilah Git dan GitHub yang akan anda temui
| Istilah | Maksud ringkas |
|---|---|
| Repositori (repo) | Folder projek beserta sejarah lengkapnya |
| Komit (commit) | Gambar pantas perubahan yang disimpan, dengan mesej ringkas yang menerangkannya |
| Cawangan (branch) | Aliran kerja yang berasingan, supaya percubaan tidak mengganggu versi utama |
| main | Nama lazim bagi cawangan utama — versi yang dilancarkan ke pengguna |
| Gabung (merge) | Membawa perubahan satu cawangan masuk ke cawangan lain |
| Konflik gabungan (merge conflict) | Dua perubahan menyentuh baris yang sama; seseorang perlu memilih yang mana untuk disimpan |
| Klon (clone) | Muat turun salinan penuh repositori, termasuk sejarahnya |
| Push / pull | Hantar komit anda ke GitHub / bawa turun komit orang lain |
| Pull request (PR) | Halaman GitHub yang mencadangkan penggabungan cawangan, tempat orang menyemak dan membincangkan perubahan |
| Fork | Salinan repositori orang lain di GitHub yang menjadi milik anda |
| Isu (issue) | Senarai tugas atau laporan pepijat GitHub yang dilampirkan pada repositori |
.gitignore | Senarai fail yang Git tidak boleh sekali-kali rekod, seperti rahsia .env dan dependensi yang dimuat turun |
| GitHub Actions | Automasi yang berjalan di GitHub, contohnya ujian pada setiap pull request |
Dua perkara ini wajar ditekankan. Pertama, sejarah Git kekal secara reka bentuk: jika kata laluan dikomit dan dipush, memadamkannya dalam komit kemudian tidak membuangnya daripada sejarah. Kedua, komit hanya berguna setakat mesejnya. “Betulkan pengiraan dua kali tempahan apabila dua orang menempah serentak” membantu anda kemudian; “kemas kini” tidak membantu.
Contoh kerja: menyerahkan aplikasi yang dibina AI kepada freelancer
Anda telah membina portal pelanggan dengan pembina aplikasi AI. Ia berfungsi, tetapi anda mahu seorang pembangun bebas menambah integrasi yang rumit dengan perisian perakaunan anda.
- Sambungkan projek ke repositori GitHub persendirian yang baharu dan push. Repositori kini memegang kod dan sejarahnya.
- Semak apa yang ada di dalamnya. Buka repositori di GitHub. Tidak sepatutnya ada fail
.envdan tiada kunci API dalam kod. Rahsia kekal dalam tetapan platform anda dan dikongsi dengan freelancer secara berasingan, jika perlu — lihat pembolehubah persekitaran dan rahsia. - Jemput freelancer sebagai kolaborator pada repositori itu sahaja.
- Mereka bekerja pada cawangan yang dinamakan seperti
accounting-sync, mengkomit semasa bekerja, dan membuka pull request apabila selesai. - Anda menyemak pull request itu. Walaupun tanpa membaca kod, anda boleh membaca penerangannya, menyemak fail mana yang berubah, dan bertanya soalan dalam ulasan.
- Gabungkan apabila anda berpuas hati, kemudian pull perubahan itu kembali ke pembina anda supaya anda dan AI meneruskan kerja daripada versi baharu.
Sepanjang proses ini, anda boleh melihat dengan tepat apa yang berubah dan membatalkannya jika perlu. Itulah keseluruhan nilai kawalan versi dalam satu aliran kerja. Jika anda masih menimbang sama ada perlu membawa pembangun, lihat upah pembangun atau bina dengan AI.
Kesilapan dan salah faham lazim
- “GitHub dan Git itu sama.” Git berfungsi tanpa GitHub; alternatif seperti GitLab dan Bitbucket juga menghoskan repositori Git.
- “GitHub akan menjalankan aplikasi saya.” GitHub menyimpan kod. Menjalankannya untuk orang ramai ialah web hosting, perkhidmatan berasingan (walaupun sesetengah hos melancarkan dari GitHub).
- Mengkomit rahsia. Kesilapan paling merosakkan dan paling biasa. Gunakan
.gitignoreuntuk fail.env, dan tukar mana-mana kunci yang pernah dipush. - Hanya satu cawangan dan tiada mesej. Tidak mengapa untuk eksperimen solo, tetapi beri komit mesej yang jelas dan gunakan cawangan untuk apa-apa yang berisiko.
- Menyunting di dua tempat serentak. Jika anda menukar kod di GitHub dan di pembina AI tanpa menarik perubahan di antara keduanya, anda akan mencipta konflik. Pilih satu tempat untuk menyunting pada satu masa, dan segerakkan sebelum bertukar.
- Menganggap repo persendirian ialah sandaran untuk semua. Ia menyimpan kod, bukan kandungan pangkalan data atau fail yang dimuat naik. Semua itu memerlukan sandaran sendiri.
Apa yang patut diminta kepada pembina AI anda
- “Tambah
.gitignoreyang mengecualikan.env, folder dependensi dan output binaan.” - “Tulis README yang menerangkan cara pemasangan, pembolehubah persekitaran yang diperlukan (nama sahaja), dan cara menjalankan aplikasi.”
- “Tambah
.env.exampledengan setiap nama pembolehubah dan tanpa nilai sebenar.” - “Gunakan mesej komit yang jelas dan deskriptif untuk setiap perubahan.”
Empat permintaan ini menghasilkan repositori yang boleh diambil alih oleh pembangun dalam beberapa minit. Untuk memindahkan aplikasi ke pelayan anda sendiri, lihat cara mengeksport dan menghoskan sendiri aplikasi yang dibina AI, dan untuk mengukuhkannya sebelum pengguna sebenar, lihat membawa prototaip AI ke pengeluaran.
GitHub dan Mythex
Mythex menyimpan sejarah untuk anda pada setiap pelan: selepas setiap giliran ejen yang berjaya, ia menyimpan checkpoint, iaitu gambar pantas Git yang boleh anda kembali kepadanya. Pada Pro, anda boleh menyambungkan GitHub dan push atau pull projek dengan repositori anda sendiri, atau muat turun keseluruhan projek sebagai arkib; rahsia dan dependensi yang dipasang dikecualikan daripada eksport. GitHub di sini digunakan untuk menyegerakkan kod, bukan untuk log masuk ke Mythex. Lihat GitHub, eksport dan import dalam dokumentasi, dan halaman harga untuk apa yang disertakan dalam setiap pelan.
Soalan lazim
Apakah perbezaan antara Git dan GitHub?
Git ialah perisian percuma yang merekod sejarah fail projek pada mana-mana komputer. GitHub ialah laman web, dimiliki oleh Microsoft, yang menghoskan repositori Git secara dalam talian dan menambah alat kerjasama seperti pull request, isu dan automasi.
Adakah saya perlukan GitHub untuk membina aplikasi dengan AI?
Tidak. Ramai pembina aplikasi AI menyimpan sejarah untuk anda di dalam produk itu sendiri. GitHub menjadi berguna apabila anda mahukan salinan kod sendiri, mahu bekerjasama dengan pembangun, atau bercadang untuk menghoskan aplikasi di tempat lain.
Adakah GitHub percuma?
GitHub mempunyai pelan percuma yang merangkumi repositori awam dan persendirian, yang mencukupi untuk kebanyakan individu dan pasukan kecil. Pelan berbayar menambah pengurusan pasukan dan ciri tambahan; semak halaman harga GitHub untuk butiran semasa.
Adakah kod saya terdedah kepada umum di GitHub?
Hanya jika anda menjadikan repositori itu awam. Repositori persendirian hanya kelihatan kepada anda dan orang yang anda jemput. Walaupun dalam repositori persendirian, jangan sekali-kali komit kata laluan atau kunci API.