Latihan - Mengunggah proyek Anda ke GitHub

Selesai

Anda dapat mengimpor repositori ke GitHub menggunakan GitHub Importer, baris perintah, atau alat migrasi eksternal.

Tentang Pengimpor GitHub

Jika Anda memiliki kode sumber di Subversion, Mercurial, Team Foundation Version Control (TFVC), atau repositori Git lainnya, Anda dapat memindahkannya ke GitHub menggunakan GitHub Importer. GitHub Importer adalah alat yang dengan cepat mengimpor repositori kode sumber, termasuk riwayat penerapan dan revisi, ke GitHub untuk Anda.

Selama impor, bergantung pada sistem kontrol versi yang Anda impor, Anda dapat melakukan beberapa tugas berikut. Autentikasi dengan repositori jarak jauh Anda, perbarui atribusi pembuat penerapan, impor repositori dengan file besar, atau hapus file besar jika Anda tidak ingin menggunakan Git Large File Storage.

Mengimpor Aksi Subversion Mercurial TFVC Git
Mengautentikasi dengan repositori jarak jauh X X X X
Memperbarui atribusi pembuat penerapan X X X
Memindahkan file besar ke Git Large File Storage X X X
Menghapus file besar dari repositori Anda X X X

Mengimpor repositori dengan GitHub Importer

Jika Anda memiliki proyek yang dihosting di sistem kontrol versi lain, Anda dapat secara otomatis mengimpornya ke GitHub menggunakan alat GitHub Importer. Pengimpor GitHub tidak cocok untuk semua impor. Misalnya, jika kode Anda yang ada dihosting di jaringan privat, alat kami tidak dapat mengaksesnya. Dalam kasus ini, sebaiknya impor menggunakan baris perintah untuk repositori Git atau alat migrasi kode sumber eksternal untuk proyek yang diimpor dari sistem kontrol versi lainnya.

Jika Anda ingin mencocokkan penerapan di repositori Anda dengan akun pengguna GitHub penulis selama impor. Pertama, pastikan bahwa setiap kontributor repositori Anda memiliki akun GitHub sebelum Anda memulai impor.

Repositori dan file individual tunduk pada batas ukuran. Untuk informasi selengkapnya, lihat Tentang file besar di GitHub.

Ikuti langkah-langkah berikut untuk mengimpor repositori:

  1. Di sudut kanan atas halaman mana pun, pilih +, lalu pilih Impor repositori.

    Screenshot of the import repository button.

  2. Di bawah "URL kloning repositori lama Anda", ketik URL proyek yang ingin Anda impor.

    Screenshot of the old repository URL textbox.

  3. Pilih akun pengguna atau organisasi Anda untuk memiliki repositori, lalu ketik nama untuk repositori di GitHub.

    Screenshot of the new import repository owner name.

  4. Tentukan apakah repositori baru harus bersifat publik atau privat. Untuk informasi selengkapnya, lihat Mengatur visibilitas repositori.

    Screenshot of the new repository public or private options.

  5. Tinjau informasi yang Anda masukkan, lalu pilih Mulai impor.

    Screenshot of the begin import button for a new repository import.

  6. Jika proyek lama Anda dilindungi oleh kata sandi, ketik informasi masuk Anda untuk proyek tersebut, lalu pilih Kirim.

    Screenshot of the location to input your old repository credentials importer.

  7. Jika ada beberapa proyek yang dihosting di URL kloning proyek lama Anda, pilih proyek yang ingin Anda impor, lalu pilih Kirim.

    Screenshot of a selection of projects found at the same URL. project importer.

  8. Jika proyek Anda berisi file yang lebih besar dari 100 MB, pilih apakah akan mengimpor file besar menggunakan Git Large File Storage, lalu pilih Lanjutkan.

    Screenshot of files suitable for Git LFS importer.

Ketika repositori sepenuhnya diimpor, Anda menerima email.

Memperbarui atribusi pembuat penerapan dengan GitHub Importer

Selama impor, Anda dapat mencocokkan penerapan di repositori Anda dengan akun GitHub pembuat penerapan. GitHub Importer mencari pengguna GitHub yang alamat emailnya cocok dengan penulis penerapan di repositori yang Anda impor. Anda kemudian dapat menyambungkan penerapan ke penulisnya menggunakan alamat email mereka atau nama pengguna GitHub penulis.

Memperbarui pembuat penerapan

Ikuti langkah-langkah berikut untuk memperbarui pembuat penerapan:

  1. Setelah mengimpor repositori Anda, pada halaman status impor, pilih Cocokkan penulis.

    Screenshot of the match authors button.

  2. Di samping penulis yang informasinya ingin Anda perbarui, pilih Koneksi.

    Screenshot of the connect commit author process.

  3. Ketik alamat email atau nama pengguna GitHub penulis, lalu tekan Enter.

Menerapkan penerapan ke pengguna GitHub dengan alamat email publik

Jika penulis penerapan di repositori yang diimpor memiliki akun GitHub yang terkait dengan alamat email yang mereka gunakan untuk menulis penerapan, dan mereka tidak mengatur alamat email penerapan mereka sebagai privat. Kemudian, GitHub Importer cocok dengan alamat email yang terkait dengan penerapan ke alamat email publik yang terkait dengan akun GitHub mereka, dan mengaitkan penerapan ke akun GitHub mereka.

Menerapkan penerapan ke pengguna GitHub tanpa alamat email publik

Jika pembuat penerapan di repositori yang Diimpor tidak mengatur alamat email publik di profil GitHub mereka, atau mengatur alamat email penerapannya sebagai privat. Kemudian, GitHub Importer mungkin tidak dapat mencocokkan alamat email yang terkait dengan penerapan dengan akun GitHub mereka.

Pembuat penerapan dapat mengatasi masalah ini dengan mengatur alamat email mereka sebagai privat. Penerapannya kemudian dikaitkan <username>@users.noreply.github.comdengan , dan penerapan yang diimpor dikaitkan dengan akun GitHub mereka.

Melakukan attributing penerapan menggunakan alamat email

Jika alamat email penulis tidak terkait dengan akun GitHub mereka, mereka dapat menambahkan alamat ke akun mereka setelah impor, dan penerapan akan dikaitkan dengan benar.

Jika pembuat tidak memiliki akun GitHub, GitHub Importer mengaitkan penerapannya ke alamat email yang terkait dengan penerapan.

Mengimpor repositori GitHub menggunakan baris perintah

Jika GitHub Importer tidak cocok untuk tujuan Anda, seperti jika kode Yang ada dihosting di jaringan privat, sebaiknya impor menggunakan baris perintah.

Sebelum memulai, pastikan Anda mengetahui:

  • Nama pengguna GitHub Anda
  • URL kloning untuk repositori eksternal, seperti https://external-host.com/user/repo.git atau git://external-host.com/user/repo.git (mungkin dengan user@ di depan external-host.com nama domain)

Untuk tujuan demonstrasi, kami menggunakan:

  • Akun eksternal bernama ext-user
  • Host Git eksternal bernama https://external-host.com
  • Akun pengguna pribadi GitHub bernama ghuser
  • Repositori di GitHub.com bernama repo.git

Ikuti langkah-langkah berikut untuk mengimpor repositori eksternal Anda:

  1. Buat repositori baru di GitHub. Anda mengimpor repositori Git eksternal ke repositori baru ini.

  2. Pada baris perintah, buat klon "bare" dari repositori menggunakan URL klon eksternal. Perintah ini membuat salinan lengkap data, tetapi tanpa direktori kerja untuk mengedit file, dan memastikan ekspor baru yang bersih dari semua data lama.

    $ git clone --bare https://external-host.com/ext-user/repo.git
    #Makes a bare clone of the external repository in a local directory 
    
  3. Dorong repositori yang dikloning secara lokal ke GitHub menggunakan opsi "cermin", yang memastikan bahwa semua referensi, seperti cabang dan tag, disalin ke repositori yang diimpor.

    $ cd repo.git
    $ git push --mirror https://github.com/ghuser/repo.git
    #Pushes the mirror to the new repository on GitHub.com 
    
  4. Hapus repositori lokal sementara.

    $ cd ..
    $ rm -rf repo.git 
    

Menambahkan kode yang dihosting secara lokal ke GitHub

Jika Anda memiliki kode sumber atau repositori yang disimpan secara lokal di komputer atau jaringan privat, Anda dapat menambahkannya ke GitHub dengan mengetik perintah di terminal. Baik dengan mengetik perintah Git secara langsung, atau dengan menggunakan GitHub CLI.

GitHub CLI adalah alat sumber terbuka untuk menggunakan GitHub dari baris perintah komputer Anda. GitHub CLI dapat menyederhanakan proses penambahan proyek yang ada ke GitHub menggunakan baris perintah. Untuk mempelajari selengkapnya tentang GitHub CLI, lihat Tentang GitHub CLI.

Menambahkan repositori lokal ke GitHub dengan GitHub CLI

Ikuti langkah-langkah ini untuk menambahkan repositori lokal dengan GitHub CLI:

  1. Di baris perintah, navigasikan ke direktori root proyek Anda.

  2. Menginisialisasi direktori lokal sebagai repositori Git.

    git init -b main
    
  3. Tahapkan dan terapkan semua file dalam proyek Anda.

    git add . && git commit -m "initial commit"
    
  4. Untuk membuat repositori untuk proyek Anda di GitHub, gunakan gh repo create subcommand. Saat diminta, pilih Dorong repositori lokal yang ada ke GitHub dan masukkan nama yang diinginkan untuk repositori Anda. Jika Anda ingin proyek Anda menjadi milik organisasi alih-alih akun pengguna Anda, tentukan nama organisasi dan nama proyek dengan organization-name/project-name.

  5. Ikuti permintaan interaktif. Untuk menambahkan remote dan mendorong repositori, konfirmasi ya ketika diminta untuk menambahkan remote dan mendorong penerapan ke cabang saat ini.

  6. Atau, untuk melewati semua perintah, berikan jalur ke repositori dengan bendera --source dan berikan bendera visibilitas (--public, --private, atau --internal). Contohnya, gh repo create --source=. --public. Tentukan remote dengan bendera --remote. Untuk mendorong penerapan Anda, berikan bendera --push. Untuk informasi selengkapnya tentang kemungkinan argumen, referensikan manual GitHub CLI.

Menambahkan repositori lokal ke GitHub menggunakan Git

Ikuti langkah-langkah ini untuk menambahkan repositori lokal menggunakan Git:

  1. Buat repositori baru di GitHub.com. Untuk menghindari kesalahan, jangan menginisialisasi repositori baru dengan README, lisensi, atau gitignore files. Anda dapat menambahkan file-file ini setelah proyek Anda didorong ke GitHub.

    Screenshot of new repository creation.

  2. Membuka Git Bash.

  3. Ubah direktori kerja saat ini ke proyek lokal Anda.

  4. Menginisialisasi direktori lokal sebagai repositori Git.

    $ git init -b main
    
  5. Tambahkan file di repositori lokal baru Anda. Perintah ini juga mentahapkannya untuk penerapan pertama.

    $ git add .
    # Adds the files in the local repository and stages them for commit. To unstage a file, use 'git reset HEAD YOUR-FILE'.
    
  6. Terapkan file yang ditahapkan di repositori lokal Anda.

    $ git commit -m "First commit"
    # Commits the tracked changes and prepares them to be pushed to a remote repository. To remove this commit and modify the file, use 'git reset --soft HEAD~1' and commit and add the file again.
    
  7. Di bagian atas repositori Anda di halaman Penyiapan Cepat GitHub.com, pilih tombol Salin untuk menyalin URL repositori jarak jauh.

    screenshot copy remote repository url quick setup

  8. Di prompt Perintah, tambahkan URL untuk repositori jarak jauh. Repositori lokal Anda didorong ke lokasi ini.

    $ git remote add origin <REMOTE_URL> 
    # Sets the new remote
    $ git remote -v
    # Verifies the new remote URL
    
  9. Dorong perubahan di repositori lokal Anda ke GitHub.com.

    $ git push origin main
    # Pushes the changes in your local repository up to the remote repository you specified as the origin
    

Alat migrasi kode sumber

Anda dapat menggunakan alat eksternal untuk memindahkan proyek Anda ke GitHub. Sebaiknya gunakan GitHub Importer untuk mengimpor proyek dari Subversion, Mercurial, Team Foundation Version Control (TFVC), atau repositori Git lainnya. Anda juga dapat menggunakan alat eksternal ini untuk mengonversi proyek Anda ke Git.

Mengimpor dari Subversion

Dalam lingkungan Subversion yang khas, beberapa proyek disimpan dalam satu repositori root. Di GitHub, masing-masing proyek ini biasanya memetakan ke repositori Git terpisah untuk akun pengguna atau organisasi. Sebaiknya impor setiap bagian repositori Subversion Anda ke repositori GitHub terpisah jika:

  • Kolaborator perlu memeriksa atau berkomitmen pada bagian proyek tersebut secara terpisah dari bagian lain
  • Anda ingin bagian yang berbeda memiliki izin akses mereka sendiri

Kami merekomendasikan alat-alat ini untuk mengonversi repositori Subversion ke Git:

Mengimpor dari Mercurial

Kami merekomendasikan hg-fast-export untuk mengonversi repositori Merkurial ke Git.

Mengimpor dari TFVC

Kami merekomendasikan git-tfs untuk memindahkan perubahan antara TFVC dan Git.

Untuk informasi selengkapnya tentang berpindah dari TFVC (sistem kontrol versi terpusat) ke Git, lihat Migrasi ke Git dari kontrol versi terpusat.