Clone Repo LMS
Mengambil source code menggunakan Git.
Clone Repo LMS
Setelah folder project di VPS siap, salah satu cara paling rapi untuk mengambil source code LMS adalah dengan clone repository menggunakan Git.
Untuk learner yang masih baru, arti clone repo sangat sederhana: mengambil salinan project dari GitHub, GitLab, atau repository lain ke dalam server VPS.
Untuk learner yang sudah terbiasa dengan workflow development, langkah ini adalah bagian normal dari deployment berbasis version control, sehingga update code ke depannya juga akan jauh lebih mudah dibanding upload manual berulang-ulang.
Kenapa clone repo lebih baik daripada upload manual?
- Lebih rapi — source code di server terhubung langsung dengan repository aslinya.
- Lebih mudah update — nanti perubahan bisa diambil lagi tanpa upload ulang semua file.
- Lebih familiar untuk production — banyak workflow deploy modern memakai Git sebagai sumber utama code.
- Lebih mudah dilacak — branch, commit, dan history project bisa dicek dengan jelas.
Kapan sebaiknya pakai clone repo?
Gunakan metode ini jika project LMS Anda memang sudah tersimpan di GitHub, GitLab, Bitbucket, atau server Git internal.
Kalau source code Anda belum ada di repository dan masih hanya tersimpan di laptop lokal, maka lesson sebelumnya tentang upload source code tetap valid. Tetapi kalau repository sudah ada, maka clone repo biasanya menjadi pilihan yang lebih natural dan lebih profesional.
Tujuan lesson ini
Di lesson ini kita akan belajar:
- cara memastikan Git sudah tersedia di VPS,
- cara install Git jika belum ada,
- cara masuk ke folder yang benar sebelum clone,
- cara clone repository dengan posisi folder yang benar dan hanya sekali,
- cara verifikasi hasil clone,
- dan cara mengatasi error-error yang paling sering muncul.
Workflow folder yang kita pakai di course ini
Sebelumnya kita sudah menyiapkan struktur folder project. Agar konsisten dengan course ini, pola yang paling aman adalah bekerja dari folder:
/var/www/lms
Lalu repository LMS kita clone ke dalam folder frontend, sehingga hasil akhirnya menjadi seperti ini:
/var/www/lms/frontend
Dengan pola ini, struktur project tetap rapi dan sesuai dengan lesson-lesson berikutnya saat kita install dependency, build, dan menjalankan aplikasi.
Langkah 1: pastikan Git sudah tersedia
Sebelum clone repository, cek dulu apakah Git sudah terinstall di VPS.
git --version
Kalau Git sudah ada, biasanya akan muncul hasil seperti:
git version 2.xx.x
Anda juga bisa cek dengan command berikut:
command -v git
Kalau Git ada, biasanya output-nya mirip seperti:
/usr/bin/git
Kalau Git belum ada
Kalau saat menjalankan git --version muncul pesan seperti command not found, berarti Git belum terinstall.
Install Git dengan langkah berikut:
sudo apt update
sudo apt install git -y
Setelah selesai, verifikasi lagi:
git --version
Kenapa verifikasi command itu penting?
Dalam course ini, setiap kali kita memakai tool baru, biasakan cek dua hal:
- apakah tool-nya sudah ada,
- dan apakah tool itu benar-benar bisa dijalankan.
Kebiasaan kecil ini sangat membantu, terutama untuk learner pemula, karena banyak error deployment sebenarnya hanya terjadi karena command yang dipakai belum terinstall.
Langkah 2: masuk ke folder project yang benar
Sebelum clone, pindah dulu ke folder utama project LMS:
cd /var/www/lms
Lalu cek posisi kita sekarang:
pwd
Output yang diharapkan:
/var/www/lms
Setelah itu, lihat isi foldernya:
ls -la
Ini penting supaya kita tahu apakah folder frontend belum ada, sudah ada, atau justru sudah terisi file tertentu.
Langkah 3: pilih pola clone yang sesuai
Di course ini, kita pakai satu pola yang paling aman dan paling mudah dipahami learner pemula:
cd /var/www/lms
git clone <repo-url> frontend
Artinya sangat penting:
- command
git clonedijalankan dari folder/var/www/lms, - bukan dari
/var/www/lms/frontend, - karena folder
frontendakan dibuat otomatis oleh Git saat proses clone berhasil.
Contoh:
cd /var/www/lms
git clone https://github.com/username/lms.git frontend
Setelah selesai, hasilnya akan berada di:
/var/www/lms/frontend
git clone hanya dijalankan satu kali saja, yaitu saat folder frontend belum ada.
Kalau setelah dicek ternyata folder frontend sudah terbuat, maka jangan jalankan git clone lagi. Lanjutkan ke lesson atau langkah berikutnya yang bekerja di dalam folder /var/www/lms/frontend.
Kenapa tidak boleh clone lagi?
- Karena folder project sudah ada.
- Clone ulang ke lokasi yang sama justru bisa memicu error atau membingungkan struktur folder.
- Di workflow normal,
git clonedipakai hanya untuk pengambilan source code pertama kali.
Jadi, keputusan sederhananya seperti ini:
Kalau /var/www/lms/frontend belum ada → jalankan git clone sekali
Kalau /var/www/lms/frontend sudah ada → jangan clone lagi, lanjut ke lesson berikutnya
Langkah 4: verifikasi hasil clone
Setelah clone selesai, cek isi folder utama:
ls -la /var/www/lms
Lalu masuk ke folder project:
cd /var/www/lms/frontend
Cek lagi isi project:
ls -la
Anda seharusnya mulai melihat file seperti:
package.jsonsrcpublic.git
Kalau folder frontend sudah ada sejak awal dan Anda memang tidak melakukan clone lagi, Anda tetap bisa masuk ke folder tersebut untuk lanjut bekerja:
cd /var/www/lms/frontend
ls -la
Kalau isi project sudah terlihat normal, berarti lesson ini selesai dan Anda bisa lanjut ke lesson berikutnya.
Kalau folder .git ada, itu pertanda bahwa hasil clone benar-benar terhubung dengan repository Git.
Verifikasi tambahan untuk intermediate dan expert
Kalau ingin lebih yakin, jalankan:
git remote -v
Command ini menunjukkan repository asal yang terhubung ke project.
Anda juga bisa cek branch:
git branch -a
Dan melihat commit terbaru:
git log --oneline -n 5
Untuk learner yang sudah expert, langkah ini membantu memastikan bahwa branch dan commit yang masuk ke server memang sesuai harapan.
Bagaimana jika repository private?
Kalau repository bersifat private, clone tetap bisa dilakukan, tetapi Anda harus lolos autentikasi.
Secara umum ada dua cara yang paling sering dipakai:
- HTTPS + credential / token
- SSH key
Opsi 1 — clone via HTTPS
git clone https://github.com/username/lms.git frontend
Pada beberapa platform, password biasa sudah tidak dipakai lagi untuk Git operation. Sebagai gantinya, Anda mungkin perlu memakai Personal Access Token (PAT).
Opsi 2 — clone via SSH
git clone git@github.com:username/lms.git frontend
Cara ini biasanya lebih nyaman untuk workflow jangka panjang, tetapi membutuhkan SSH key yang sudah diset di server Git dan di VPS.
Kalau ingin clone branch tertentu
Kalau repository punya banyak branch dan Anda ingin langsung mengambil branch tertentu, gunakan:
git clone -b <branch-name> <repo-url> frontend
Contoh:
git clone -b main https://github.com/username/lms.git frontend
Kalau branch default repository memang main, command biasa tanpa -b biasanya juga sudah cukup.
Workflow paling sederhana untuk pemula
Kalau Anda ingin versi yang paling mudah diingat, alurnya seperti ini:
git --version
cd /var/www/lms
pwd
ls -la
git clone <repo-url> frontend
cd frontend
ls -la
Itu sudah cukup untuk menyelesaikan langkah clone secara aman.
Troubleshooting umum
1. Error: git: command not found
Artinya Git belum terinstall.
sudo apt update
sudo apt install git -y
git --version
2. Error: Permission denied saat membuat folder atau menulis file
Biasanya ini berarti ownership folder belum benar. Cek dulu:
ls -ld /var/www/lms
Kalau owner belum deploy, perbaiki dengan:
sudo chown -R deploy:deploy /var/www/lms
Lalu coba clone lagi.
3. Error: destination path 'frontend' already exists and is not an empty directory
Artinya folder tujuan sudah ada dan tidak kosong.
Cek dulu isinya:
ls -la /var/www/lms/frontend
Kalau folder itu memang sisa percobaan gagal sebelumnya dan aman untuk dihapus:
rm -rf /var/www/lms/frontend
Lalu clone ulang.
Jangan asal hapus kalau Anda belum yakin folder itu tidak berisi data penting.
4. Error: Repository not found
Biasanya ada beberapa kemungkinan:
- URL repository salah,
- repository private tetapi Anda belum punya akses,
- atau autentikasi gagal.
Cek lagi URL repo yang dipakai, lalu pastikan akun/token/SSH key memang punya akses ke repository tersebut.
5. Error: Authentication failed
Ini sering terjadi saat clone via HTTPS ke repo private.
Solusinya biasanya:
- gunakan Personal Access Token jika platform tidak menerima password biasa,
- atau pindah ke metode SSH key.
6. Error: Permission denied (publickey)
Ini biasanya muncul saat clone via SSH, tetapi SSH key di VPS belum terpasang atau belum didaftarkan ke GitHub/GitLab.
Cek dulu apakah key ada:
ls -la ~/.ssh
Kalau belum ada, berarti Anda memang perlu menyiapkan SSH key terlebih dahulu sebelum clone via SSH.
7. Clone sangat lambat atau terputus
Bisa disebabkan koneksi VPS, jaringan menuju provider Git, atau repository terlalu besar.
Untuk test cepat, Anda bisa pastikan VPS masih punya koneksi internet:
ping -c 4 github.com
Kalau ping gagal, masalahnya bisa jadi bukan pada Git, tetapi pada koneksi server.
Tips untuk learner expert
Kalau Anda sudah terbiasa dengan Git, beberapa verifikasi tambahan yang sering dipakai adalah:
- cek branch aktif dengan
git branch --show-current, - cek commit aktif dengan
git rev-parse --short HEAD, - cek status working tree dengan
git status.
Tetapi untuk course ini, learner pemula tidak wajib menghafal semua itu. Fokus utamanya adalah memastikan source code berhasil masuk ke VPS dengan struktur yang benar.
Versi video
Kalau ingin melihat penjelasan visual dalam bentuk video, putar materi pendamping berikut:
Ringkasan alur aman
git --version
command -v git
sudo apt update
sudo apt install git -y
cd /var/www/lms
pwd
ls -la
git clone <repo-url> frontend
cd /var/www/lms/frontend
ls -la
git remote -v
git branch -a
git log --oneline -n 5
Kesimpulan lesson ini
Clone repository adalah cara yang rapi dan profesional untuk mengambil source code LMS ke VPS. Dengan Git, project di server menjadi lebih mudah dikelola, lebih mudah diverifikasi, dan lebih siap untuk workflow update berikutnya.
Untuk learner pemula, cukup pahami bahwa kita sedang “mengambil project dari repository ke server”. Untuk learner yang lebih advance, lesson ini adalah fondasi workflow deploy berbasis Git yang nanti akan sangat membantu saat update code, rollback, atau tracking branch dan commit.
Di lesson berikutnya, kita akan masuk ke tahap berikutnya: menginstall dependency project agar LMS benar-benar siap dibuild dan dijalankan di VPS.