Part 4 - Inisialisasi dan Kloning Repository (git init & git clone)

1. Membuat Repository Baru dengan git init

git init digunakan ketika kamu membuat project dari nol dan ingin mengaktifkan Git di folder tersebut. Perintah ini membuat folder .git yang menyimpan seluruh histori dan konfigurasi Git.

Contoh:

mkdir project-web
cd project-web
git init

Setelah itu, repository lokal sudah siap digunakan.

2. Mengecek Status Repository

Setelah inisialisasi, gunakan:

git status

Untuk melihat apakah ada file baru, file berubah, atau file yang belum masuk staging.

3. Meng-clone Repository yang Sudah Ada

git clone digunakan untuk mengambil project yang sudah ada di server seperti GitHub atau GitLab. Perintah ini akan membuat folder baru yang berisi semua file dan seluruh riwayat commit.

Contoh clone dari GitHub:

git clone https://github.com/username/nama-project.git

Git akan membuat folder nama-project secara otomatis.

4. Clone ke Folder dengan Nama Tertentu

Kamu bisa menentukan sendiri nama folder hasil clone:

git clone https://github.com/username/nama-project.git my-app

5. Perbedaan git init dan git clone

  • git init → membuat repository baru dari nol.
  • git clone → mengambil repository yang sudah ada dari remote.
  • git init dipakai untuk project lokal, sedangkan git clone untuk project kolaborasi.

6. Menghubungkan Repository Lokal dengan Remote

Jika kamu memulai project dengan git init, kamu bisa menambahkan remote manual:

git remote add origin https://github.com/username/nama-project.git

Cek remote yang terhubung:

git remote -v

7. Ringkasan

  • git init untuk memulai repository baru.
  • git clone untuk mengambil repository yang sudah ada.
  • Clone otomatis membuat folder project + histori commit.
  • git remote add origin digunakan untuk menghubungkan repository lokal dengan remote server.

Di Part 5 kita belajar fokus pada staging area dan penggunaan git add.


Yan Afriyoko

I am Yan Afriyoko, A Software Engineer with more than 8+ years of experience. I have completed over 250 projects, focusing on developing robust and efficient web applications. In addition, I am an expert in creating Software-as-a-Service (SaaS) development, API integration, and e-commerce projects.