Setiap repository Git bermula dari satu keputusan kecil: folder biasa mulai dilacak hari ini. Pada bagian ini kita menyiapkan fondasi buku-catatan — mengubah folder kosong menjadi repository dengan branch utama main, menetapkan identitas lokal, lalu menyimpan commit pertama yang berisi README.md. Perintah-perintahnya adalah siklus dasar dari section Dasar Repository
, kini dirangkai sebagai satu alur kerja utuh. Satu kebiasaan juga mulai dibentuk di sini: membaca git status sebelum dan sesudah setiap langkah, sehingga kita selalu tahu posisi pekerjaan.
Menyiapkan Folder dan git init #
Mulailah dari lokasi kerja yang nyaman — folder proyek pribadi di komputer masing-masing. Satu folder menjadi satu repository, jadi namanya sebaiknya menjelaskan isi proyeknya:
mkdir proyek-buku-catatan
cd proyek-buku-catatan
git init -b mainOutput yang Dihasilkan (perintah terakhir):
Initialized empty Git repository in /home/z/my-project/tutorial-extracted/work/sandbox/proyek-git/proyek-01/proyek-buku-catatan/.git/Satu baris itu membawa tiga informasi penting:
Initialized empty Git repository— repository resmi berdiri dan masih kosong; belum ada satu commit pun.in .../proyek-buku-catatan/.git/— seluruh database riwayat akan tinggal di folder.gitdi dalam proyek; jalur pada keluaran menyesuaikan lokasi direktori masing-masing.- Keheningan selebihnya — tidak ada berkas lain yang tersentuh dan tidak ada pengaturan di luar folder ini yang berubah.
Opsi -b main menetapkan nama branch utama secara eksplisit sehingga hasilnya sama di komputer mana pun — perilaku lengkapnya dibahas pada chapter git init
.
Menetapkan Identitas Lokal #
Setiap commit mencatat nama dan email penulisnya, jadi repository baru perlu tahu siapa yang bekerja. Identitas cukup diatur level lokal — berlaku untuk repository ini saja tanpa menyentuh pengaturan global mesin, sesuai pembahasan Konfigurasi Identitas :
git config user.name "Budi Santoso"
git config user.email "[email protected]"Kedua perintah tidak menghasilkan keluaran; keberhasilannya bisa dibaca kembali dari konfigurasinya:
git config user.name
git config user.emailOutput yang Dihasilkan (kedua perintah):
Budi Santoso
[email protected]Membuat README Pertama #
Repository yang baik dibuka oleh satu berkas yang menjelaskan dirinya sendiri: README.md. Isinya sengaja singkat — judul dan satu kalimat deskripsi — karena konten catatan itu sendiri akan tumbuh pada bagian-bagian berikutnya:
cat > README.md <<'EOF'
# Buku Catatan
Kumpulan catatan belajar saya.
EOFPenanda <<'EOF' menulis seluruh baris di antaranya ke berkas README.md apa adanya. Isinya bisa diperiksa kembali:
cat README.mdOutput yang Dihasilkan:
# Buku Catatan
Kumpulan catatan belajar saya.Status Pertama: Berkas yang Belum Dilacak #
Sekarang saatnya membiasakan pola yang dipakai sepanjang proyek — memeriksa keadaan sebelum bertindak:
git statusOutput yang Dihasilkan:
On branch main
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
README.md
nothing added to commit but untracked files present (use "git add" to track)Tiga bagian penting bisa dibaca dari keluaran tersebut:
On branch main— kita berada di branch utama; semua commit pada bagian ini menuju ke sana.Untracked files: README.md— Git melihat berkas baru di folder kerja, tetapi belum pernah dilacak; materi Untracked dan Tracked Files menjelaskan status ini.nothing added to commit— staging area masih kosong, jadi commit apa pun saat ini akan gagal.
Menyimpan Commit Pertama #
Berkas masuk ke commit melalui staging area — satu langkah git add, lalu periksa ulang statusnya:
git add README.md
git statusOutput yang Dihasilkan (perintah terakhir):
On branch main
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: README.mdStatus berubah dari Untracked files menjadi Changes to be committed — berkas sudah berdiri di staging area dan siap menjadi bagian commit pertama. Simpan sekarang:
git commit -m "docs: rintis buku catatan"Output yang Dihasilkan:
[main (root-commit) 6c59970] docs: rintis buku catatan
1 file changed, 3 insertions(+)
create mode 100644 README.mdKeluaran commit dibaca per baris:
[main (root-commit) 6c59970]— commit tersimpan di branchmain;(root-commit)menandai commit pertama yang tidak punya induk;6c59970adalah hash pendeknya.1 file changed, 3 insertions(+)— satu berkas berubah dengan tiga baris baru.create mode 100644 README.md— berkas baru, bukan suntingan berkas lama.- Pesan
docs: rintis buku catatan— mengikuti gaya Conventional Commits : tipedocskarena isinya dokumentasi, diikuti deskripsi singkat dalam Bahasa Indonesia.
Opsi-opsi lain git commit — dari --amend sampai --allow-empty — terdokumentasi di dokumentasi resmi git commit
.
Memverifikasi Riwayat #
Commit pertama sudah masuk; satu perintah pendek memastikannya:
git log --onelineOutput yang Dihasilkan:
6c59970 docs: rintis buku catatanSatu baris berisi hash pendek dan pesan commit — bentuk ringkas git log yang akan dipakai berulang kali di proyek ini. Format lengkapnya beserta opsi lain dibahas pada chapter git log
.
Ceklis Hasil Bagian 1 #
Sebelum melanjutkan, pastikan keadaan berikut sudah tercapai:
- Folder
proyek-buku-catatanberisi repository Git dengan branch utamamain. - Identitas lokal
user.namedanuser.emailterbaca benar darigit config. README.mdtersimpan sebagai root commit dengan pesan bergaya Conventional Commits.git log --onelinemenampilkan satu commit dangit statuskembali bersih.
Fondasi berdiri dengan satu berkas dan satu commit. Bagian 2 mengisi repository dengan pekerjaan nyata: .gitignore, panduan struktur catatan, dan daftar isi — masing-masing disimpan sebagai commit terpisah yang bermakna.