Bagaimana saya memigrasikan proyek yang sudah ada ke GitHub?

Selesai

Di sini, kami membahas pertimbangan penting untuk memigrasikan proyek ke GitHub dari sistem kontrol versi lama.

Mengapa bermigrasi ke GitHub?

Ada volume literatur yang menghilangkan keutamaan GitHub. Ini di luar cakupan modul ini untuk meyakinkan Anda untuk bergerak. Namun, kita dapat merekap beberapa manfaat utama dalam konteks topik yang perlu Anda pertimbangkan saat merencanakan migrasi Anda.

Kontrol versi

GitHub secara eksklusif menggunakan Git, bisa dibilang sistem kontrol versi terbaik di sekitar. Namun, Git sangat canggih dan dapat menyajikan beberapa skenario kompleks untuk bekerja dengan kode yang mungkin tidak dialami tim Anda. Cabang dan permintaan pull adalah bagian mendasar dari kehidupan sehari-hari bagi pengembang yang menggunakan Git, jadi memahami kapan dan bagaimana menggunakannya secara efektif diperlukan untuk berhasil di GitHub. Ada baiknya bagi tim Anda untuk terlebih dahulu memahami GitHub flow sehingga Anda dapat langsung bekerja efektif.

Menyimpan kode Anda di cloud

Sejumlah besar kode proyek masih disimpan dalam sistem kontrol versi warisan di belakang firewall perusahaan. Saat Anda bermigrasi ke GitHub, Anda sedang memindahkan kode Anda ke platform cloud GitHub, di mana anggota tim dapat mengaksesnya dengan mudah di mana saja. Migrasi ini menawarkan kesempatan yang baik untuk meninjau kebijakan tim Anda untuk jenis file dan data yang Anda simpan dalam kontrol versi. Sebagai praktik terbaik, Anda harus berasumsi bahwa apa pun yang Anda lakukan pada GitHub disusupi. Pastikan untuk tidak menyertakan data sensitif seperti kunci API, kata sandi, atau file lain yang berisi informasi yang sebanding.

Catatan

GitHub menawarkan repositori publik dan privat, serta kontrol akses terperinci untuk berbagai bagian repositori. Ini memungkinkan Anda mengontrol kepada siapa proyek Anda terlihat, serta tindakan apa yang dapat dilakukan pengguna tertentu.

Kolaborasi

GitHub menawarkan dukungan yang sangat baik untuk kolaborasi tim melalui fitur seperti masalah, permintaan pull, dan peninjauan kode. Namun, alur GitHub mungkin berbeda dari praktik yang saat ini terbiasa dengan tim Anda. Ada baiknya untuk mempertimbangkan apakah tim berencana untuk beradaptasi dengan GitHub, mempertahankan proses yang diberikan, atau bertemu di suatu tempat di tengah sebelum menyelesaikan migrasi.

Jika proyek Anda adalah proyek sumber terbuka yang memungkinkan kontributor luar, tidak ada opsi yang lebih baik daripada GitHub untuk memaksimalkan manfaat.

Migrasi ke GitHub

Pertimbangan perencanaan

Pertimbangan terpenting sebelum menjalankan migrasi Anda ke GitHub adalah apakah Anda perlu mempertahankan apa pun di luar status sumber Anda saat ini. Jika Anda puas memulai proyek baru hanya dengan sumber Anda saat ini apa adanya, opsi terbaik Anda adalah memperlakukannya seperti proyek baru dan mengunggah sumber ke repositori Anda.

Namun, jika Anda ingin mempertahankan riwayat kontrol versi, Anda perlu mengimpor menggunakan alat GitHub Migrator. Untuk informasi selengkapnya tentang dukungan impor untuk platform kontrol versi yang berbeda, lihat Mengimpor data dari sistem kontrol versi pihak ketiga.

Di luar data Git, Anda mungkin juga ingin menyimpan masalah, permintaan penarikan, atau data lainnya. Dukungan untuk item ini bervariasi menurut platform, dan umumnya tersedia dari proyek komunitas. Modul ini tidak mencakup migrasi data non-Git.

Menangani file biner yang saat ini disimpan di proyek Anda

Sebagai praktik terbaik, repositori GitHub harus dibatasi pada file yang diperlukan untuk membangun proyek. Hindari menerapkan file biner besar seperti artefak build. File biner seperti spreadsheet dan presentasi lebih cocok untuk dilacak di portal yang memahami cara menyajikan dan membuat versinya dengan benar. Jika Anda perlu membuat versi file biner besar, pertimbangkan untuk menggunakan ekstensi Git Git LFS (Large File Storage).

Membuat file Git penting seperti .gitignore

Git mendukung file .gitignore untuk membantu menerapkan kebijakan file kontrol versi. File-file ini menentukan pola pencarian yang digunakan untuk mengecualikan file dan folder dari pelacakan kontrol sumber. Contoh sederhana berikut secara rekursif mengecualikan folder apa pun yang disebut Bin atau bin, dan kontennya, dari pelacakan kontrol sumber:

[Bb]in/

Anda dapat mempelajari lebih lanjut tentang mengabaikan file. Anda juga dapat memeriksa koleksi file awal .gitignore yang ditawarkan untuk berbagai platform di repositori gitignore.

Ada beberapa file lain yang umum digunakan dalam proyek GitHub untuk menjelaskan berbagai kebijakan kepada konsumen dan kontributor repositori. Bahkan jika bersifat privat dan terbatas untuk audiens tertentu, proyek Anda masih bisa digunakan untuk mengartikulasi kebijakan berikut secara eksplisit. Meskipun tidak ada file-file ini yang diperlukan, kami mencantumkan beberapa file umum di sini.

Arsip Tujuan
README.md Halaman arahan untuk direktori. Halaman ini dirender saat direktorinya ditampilkan di GitHub.
LICENSE.md Lisensi tempat kode disediakan.
CONTRIBUTING.md Menjelaskan bagaimana pengguna harus berkontribusi pada proyek, seperti ekspektasi permintaan pull.
SECURITY.md Menjelaskan kebijakan keamanan untuk proyek. Memberikan panduan kepada pengguna yang ingin mengirimkan kode atau umpan balik terkait keamanan sensitif yang tidak boleh diungkapkan secara publik sebelum ditangani.

Pelajari selengkapnya tentang Menyiapkan proyek Anda untuk kontribusi yang sehat.

Mengimpor proyek Anda ke GitHub

Setelah Menyiapkan repositori untuk migrasi, navigasikan ke tab Kode repositori GitHub Anda. Gunakan opsi Impor kode untuk menentukan repositori sumber.

Cuplikan layar mengimpor kode ke repositori GitHub.

Alat GitHub Migrator mengurus sisanya.

Cuplikan layar alat GitHub Migrator.