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:

bash
mkdir proyek-buku-catatan
cd proyek-buku-catatan
git init -b main

Output yang Dihasilkan (perintah terakhir):

text
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:

  1. Initialized empty Git repository — repository resmi berdiri dan masih kosong; belum ada satu commit pun.
  2. in .../proyek-buku-catatan/.git/ — seluruh database riwayat akan tinggal di folder .git di dalam proyek; jalur pada keluaran menyesuaikan lokasi direktori masing-masing.
  3. 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 :

bash
git config user.name "Budi Santoso"
git config user.email "[email protected]"

Kedua perintah tidak menghasilkan keluaran; keberhasilannya bisa dibaca kembali dari konfigurasinya:

bash
git config user.name
git config user.email

Output yang Dihasilkan (kedua perintah):

text
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:

bash
cat > README.md <<'EOF'
# Buku Catatan

Kumpulan catatan belajar saya.
EOF

Penanda <<'EOF' menulis seluruh baris di antaranya ke berkas README.md apa adanya. Isinya bisa diperiksa kembali:

bash
cat README.md

Output yang Dihasilkan:

text
# Buku Catatan

Kumpulan catatan belajar saya.

Status Pertama: Berkas yang Belum Dilacak #

Sekarang saatnya membiasakan pola yang dipakai sepanjang proyek — memeriksa keadaan sebelum bertindak:

bash
git status

Output yang Dihasilkan:

text
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:

  1. On branch main — kita berada di branch utama; semua commit pada bagian ini menuju ke sana.
  2. Untracked files: README.md — Git melihat berkas baru di folder kerja, tetapi belum pernah dilacak; materi Untracked dan Tracked Files menjelaskan status ini.
  3. 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:

bash
git add README.md
git status

Output yang Dihasilkan (perintah terakhir):

text
On branch main

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
	new file:   README.md

Status berubah dari Untracked files menjadi Changes to be committed — berkas sudah berdiri di staging area dan siap menjadi bagian commit pertama. Simpan sekarang:

bash
git commit -m "docs: rintis buku catatan"

Output yang Dihasilkan:

text
[main (root-commit) 6c59970] docs: rintis buku catatan
 1 file changed, 3 insertions(+)
 create mode 100644 README.md

Keluaran commit dibaca per baris:

  1. [main (root-commit) 6c59970] — commit tersimpan di branch main; (root-commit) menandai commit pertama yang tidak punya induk; 6c59970 adalah hash pendeknya.
  2. 1 file changed, 3 insertions(+) — satu berkas berubah dengan tiga baris baru.
  3. create mode 100644 README.md — berkas baru, bukan suntingan berkas lama.
  4. Pesan docs: rintis buku catatan — mengikuti gaya Conventional Commits : tipe docs karena 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:

bash
git log --oneline

Output yang Dihasilkan:

text
6c59970 docs: rintis buku catatan

Satu 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-catatan berisi repository Git dengan branch utama main.
  • Identitas lokal user.name dan user.email terbaca benar dari git config.
  • README.md tersimpan sebagai root commit dengan pesan bergaya Conventional Commits.
  • git log --oneline menampilkan satu commit dan git status kembali 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.