Git Stash & Gitignore — Git

Git Stash menyimpan perubahan sementara tanpa commit — seperti "menaruh di rak" untuk dikerjakan nanti. Kapan pakai stash? Perlu pindah branch tapi pekerjaan be

Git Stash menyimpan perubahan sementara tanpa commit — seperti "menaruh di rak" untuk dikerjakan nanti.

Kapan pakai stash?

$ git stash                    # simpan perubahan
Saved working directory and index state WIP on main

$ git stash list               # lihat daftar stash
stash@{0}: WIP on main: abc1234 last commit

$ git stash pop                # ambil kembali & hapus dari stash
$ git stash apply              # ambil kembali tapi tetap di stash
$ git stash drop stash@{0}     # hapus stash tertentu

Gitignore — file .gitignore memberitahu Git file mana yang tidak perlu dilacak:

# Dependencies
node_modules/
vendor/

# Environment
.env
.env.local

# Build output
dist/
build/

# OS files
.DS_Store
Thumbs.db

# IDE
.vscode/
.idea/

Pattern .gitignore:

Tips: Buat .gitignore sebelum commit pertama. File yang sudah pernah di-commit harus di-remove dulu dengan git rm --cached <file>.


Sekilas .gitattributes

Sementara .gitignore menentukan file yang diabaikan, .gitattributes mengatur bagaimana Git menangani file yang dilacak.

# normalisasi line ending: CRLF di Windows, LF di repo
* text=auto

# tandai file biner supaya diff tidak rusak
*.png binary
*.jpg binary
*.pdf binary

# strategi merge: selalu pakai versi kita untuk lockfile
package-lock.json merge=ours
*.lock merge=ours

# diff lebih rapi untuk bahasa tertentu
*.md diff=markdown

Kegunaan utama:

Commit .gitattributes sedini mungkin. Setelah ada, jalankan git add --renormalize . sekali supaya normalisasi berlaku untuk file yang sudah di-commit.

Yang akan kamu pelajari