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.
mkdir proyek-eksplisit
cd proyek-eksplisit
git init -b mainOutput yang Dihasilkan:
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
):
git clone sumber salinanOutput yang Dihasilkan:
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:
| Situasi | Pintu yang tepat | Alasan singkat |
|---|---|---|
| Memulai proyek baru dari folder kosong | git init | Riwayat dimulai dari commit pertama kita |
| Folder proyek lama belum pernah dilacak Git | git init | Berkas lama tidak tersentuh; Git mulai mengawasi |
| Bergabung ke proyek tim yang sudah berjalan | git clone | Seluruh riwayat dan branch ikut tersalin |
| Butuh salinan proyek di komputer atau lokasi lain | git clone | Salinan siap kerja, lengkap dengan koneksi ke sumbernya |
| Menyalin proyek open source untuk dipelajari | git clone | Riwayat 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.
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
.