Git Init & Status — Git

git init membuat folder menjadi repository Git. Ini membuat folder .git/ tersembunyi yang menyimpan semua data version control. git status menampilkan kondisi…

git init mengubah folder biasa jadi repository Git, dan git status memberi tahu keadaan tiap file di dalamnya. Bayangin kamu baru pindah kos dan mulai mencatat barang-barangmu di buku inventaris. Hari pertama bukunya masih kosong, jadi semua barang di kamar statusnya "belum dicatat". git init itu membuka buku kosong tadi, dan git status itu mencocokkan isi kamar dengan isi buku.

🧪 Tebakan cepat: kamu menjalankan git init di folder yang sudah jadi repository. Riwayat commit-nya terhapus, gak? Tebak dulu, jawabannya ada di bagian "Kalau git init dijalankan lagi".

git init: folder jadi repository

Folder proyeknya berisi index.html dan style.css. Sebelum git init, Git belum mengenal folder ini:

$ git status
fatal: not a git repository (or any of the parent directories): .git
$ git init
Initialized empty Git repository in /project/.git/

Branch pertama di simulator ini bernama main. Git di komputermu mungkin menamainya master dan menampilkan hint soal itu. Supaya sama, jalankan sekali git config --global init.defaultBranch main.

git status: mencocokkan folder dengan catatan Git

Langsung setelah git init:

$ git status
On branch main

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
	index.html
	style.css

nothing added to commit but untracked files present (use "git add" to track)

Seiring kerjamu, git status menampilkan bagian lain. Ini semua yang akan kamu temui:

Bagian di git status Artinya
Untracked files file baru, belum pernah dicatat Git
Changes to be committed sudah dipilih dengan git add, akan masuk commit berikutnya
Changes not staged for commit sudah pernah dicatat, lalu diubah, tapi belum dipilih lagi
nothing to commit, working tree clean semua file sama dengan commit terakhir

git add dan git commit kamu pelajari di pelajaran berikutnya. git status sendiri cuma membaca, gak mengubah apa pun, jadi aman dijalankan sesering mungkin.

Kalau git init dijalankan lagi

$ git init
Reinitialized existing Git repository in /project/.git/

Git cuma memeriksa ulang folder .git yang sudah ada. Commit, branch, dan file-mu tetap utuh: gak ada yang dihapus, dan gak ada repo kedua. Itu jawaban tebakannya.

📌 Versi ringkas: git status -s

git status -s (atau --short) menampilkan satu baris per file:

$ git status -s
?? index.html
?? style.css

?? artinya untracked. Nanti kamu juga ketemu A (file baru yang sudah di-add) dan M (file yang diubah).

⚠️ Jebakan yang sering ketemu

TL;DR: git init membuat folder tersembunyi .git dan menjadikan folder itu repository. Menjalankannya lagi aman: Git menjawab Reinitialized existing Git repository dan gak menghapus apa pun. git status membandingkan folder dengan catatan Git: Untracked files untuk file yang belum pernah dicatat, Changes to be committed untuk yang sudah di-add, Changes not staged for commit untuk yang diubah tapi belum di-add, dan nothing to commit, working tree clean kalau semuanya sama dengan commit terakhir. git status -s versi ringkasnya. Status cuma membaca, jadi jalankan sesering mungkin.

Yang akan kamu pelajari