Konsep sudah dibangun pada section Pengantar Git , dan Git beserta identitas kita sudah siap di komputer. Pertanyaan praktis pertama yang muncul saat benar-benar bekerja adalah: dari mana repository kita berasal? Git menyediakan dua pintu untuk menjawabnya — memulai repository baru dari nol dengan git init, atau menyalin repository yang sudah ada dengan git clone. Chapter ini memetakan kedua pintu tersebut beserta alur sesudahnya, sehingga kita selalu tahu titik berangkat yang tepat; bedah detail tiap perintah menyusul pada dua chapter berikutnya.

Dua Pintu Menuju Repository #

Pintu pertama, git init, dipakai saat proyek masih berupa folder biasa di komputer kita — baik folder kosong yang baru dibuat maupun proyek lama yang belum pernah dilacak Git. Perintah ini mengubah folder tersebut menjadi repository dengan menciptakan folder tersembunyi .git di dalamnya.

bash
mkdir proyek-eksplisit
cd proyek-eksplisit
git init -b main

Output yang Dihasilkan:

text
Initialized empty Git repository in /home/z/my-project/tutorial-extracted/work/sandbox/dasar-repository/proyek-eksplisit/.git/

Satu baris keluaran tersebut menandai berdirinya repository: Git membuat folder .git yang akan menampung seluruh riwayat proyek, sementara berkas-berkas proyek tetap berada di tempatnya. Jalur pada keluaran menyesuaikan lokasi direktori di komputer masing-masing. Opsi -b main menetapkan nama branch awal secara eksplisit — alasannya dibahas tuntas pada chapter git init .

Pintu kedua, git clone, dipakai saat repository yang ingin kita kerjakan sudah ada di tempat lain — di server tim, di GitHub, atau di folder lain pada komputer yang sama. Misalkan folder sumber berisi repository yang sudah punya riwayat (kita membangunnya sungguhan di chapter git clone ):

bash
git clone sumber salinan

Output yang Dihasilkan:

text
Cloning into 'salinan'...
done.

Perintah tersebut membuat folder baru bernama salinan, menyalin seluruh isi proyek beserta seluruh riwayatnya, lalu menyiapkan koneksi balik ke sumbernya. Dua kata pada keluaran merangkum prosesnya: Git mulai dengan Cloning into ... dan menutupnya dengan done. begitu salinan lengkap terbentuk.

Kapan Memakai git init, Kapan git clone #

Tabel berikut memetakan situasi yang paling sering kita temui ke pintu yang tepat:

SituasiPintu yang tepatAlasan singkat
Memulai proyek baru dari folder kosonggit initRiwayat dimulai dari commit pertama kita
Folder proyek lama belum pernah dilacak Gitgit initBerkas lama tidak tersentuh; Git mulai mengawasi
Bergabung ke proyek tim yang sudah berjalangit cloneSeluruh riwayat dan branch ikut tersalin
Butuh salinan proyek di komputer atau lokasi laingit cloneSalinan siap kerja, lengkap dengan koneksi ke sumbernya
Menyalin proyek open source untuk dipelajarigit cloneRiwayat pengembangannya ikut tersedia untuk ditelusuri

Titik berangkatnya berbeda, tetapi hasil akhirnya sama: keduanya menghasilkan repository Git yang lengkap dan siap di-commit di komputer kita. Setelah repository berdiri, semua perintah selanjutnya — status, add, commit — bekerja dengan cara yang sama tanpa peduli asal-usulnya.

Alur Umum Setelah Repository Siap #

Diagram berikut merangkum cara memilih pintu dan arah pekerjaan setelahnya:

Alur setelah kedua pintu tersebut hanya berbeda di titik nol. Bila kita memakai git init, riwayat masih kosong: kita membuat berkas, memilih perubahan dengan git add, mencatatnya dengan git commit, dan siklus itu berulang setiap kali pekerjaan mencapai titik yang layak diingat. Bila kita memakai git clone, titik nol sudah berupa riwayat lengkap — kita langsung menyunting berkas yang ada, lalu menjalankan siklus add dan commit yang sama persis.

bash
git status
git add <berkas>
git commit -m "<pesan>"

Tiga perintah di atas adalah denyut nadi siklus harian tersebut — masing-masing dibedah pada chapter git status , git add , dan git commit . Perintah untuk mengirim commit ke sumber bersama, git push, baru relevan setelah memahami remote dan dibahas pada section Remote Repository .

Dari sini kita bedah pintu pertama langkah demi langkah: apa saja yang dibuat git init, bagaimana mengatur branch awal, dan mengapa perintah ini aman dijalankan pada folder yang sudah berisi berkas. Lanjut ke git init .