Git, GitHub, Branch, dan Recovery
Buat checkpoint yang aman, baca diff, gunakan branch, pulihkan kesalahan, dan publish repository ke GitHub.
Daftar isi
Git adalah sistem version control di komputer Anda. GitHub adalah layanan untuk menyimpan dan berkolaborasi pada repository Git secara online. Keduanya berkaitan, tetapi bukan hal yang sama. Anda dapat memakai Git tanpa GitHub, dan perubahan belum ada di GitHub sampai Anda melakukan push.
1. Siapkan Git dan Repository
Install Git dari git-scm.com, lalu verifikasi:
git --versionAtur identitas commit sekali pada komputer pribadi:
git config --global user.name "Nama Anda"
git config --global user.email "email-yang-terhubung-ke-github@example.com"Buka folder project yang benar di IDE, lalu periksa status. Jika folder belum menjadi repository, jalankan git init. Jangan menjalankan perintah ini di folder Downloads, Documents, atau folder induk yang memuat banyak project.
2. Buat Checkpoint Pertama
Sebelum coding agent mengedit, simpan kondisi awal yang dapat dipulihkan:
git status
git add .
git commit -m "chore: create project baseline"Periksa daftar file sebelum git add .. File .env, credential, backup database, dan secret tidak boleh ikut commit. Tambahkan pola yang tepat ke .gitignore, lalu cek lagi dengan git status.
Commit adalah checkpoint lokal, bukan backup cloud. Push diperlukan agar commit tersedia pada remote GitHub.
3. Baca Status dan Diff
Gunakan tiga pemeriksaan berikut sesering mungkin:
git status --short
git diff
git diff --stagedgit status menunjukkan file berubah. git diff menunjukkan perubahan yang belum di-stage. git diff --staged menunjukkan perubahan yang akan masuk commit berikutnya. Review diff membantu menemukan file tak sengaja, debug log, secret, penghapusan besar, dan perubahan di luar scope.
Jangan menerima ringkasan agent sebagai pengganti diff. Ringkasan membantu navigasi, sedangkan diff adalah bukti aktual.
4. Gunakan Branch untuk Satu Task
Branch memisahkan satu pekerjaan dari branch utama:
git switch -c feature/login-validationPilih nama yang menjelaskan outcome. Satu branch sebaiknya memuat satu perubahan yang dapat direview. Setelah selesai dan quality checks lulus, branch dapat di-push dan digabung melalui pull request.
Untuk pemula, satu agent, satu branch, dan commit kecil lebih aman daripada banyak agent paralel. Gunakan worktree setelah Anda memahami branch, merge, diff, dan ownership file.
5. Pulihkan Kesalahan dengan Aman
Sebelum recovery, selalu baca status dan diff. Perintah berikut membuang perubahan yang belum di-commit pada satu file:
git restore path/to/fileGunakan hanya jika Anda yakin perubahan file tersebut tidak diperlukan. Untuk mengeluarkan file dari staging tanpa menghapus isinya:
git restore --staged path/to/fileUntuk membatalkan commit yang sudah dibagikan, git revert <commit> membuat commit pembalik dan mempertahankan riwayat. Hindari git reset --hard, force push, atau penghapusan branch tanpa memahami target dan dampaknya.
6. Publish ke GitHub
Anda dapat memakai GitHub Desktop untuk jalur visual, atau command line. Buat repository kosong di GitHub tanpa menambahkan README jika project lokal sudah memiliki commit, lalu hubungkan remote:
git remote add origin https://github.com/USERNAME/REPOSITORY.git
git push -u origin mainJika Anda bekerja di feature branch, push nama branch tersebut dan buka pull request. Repository private direkomendasikan untuk latihan yang mungkin memuat requirement internal. Private bukan alasan untuk menyimpan secret di Git.
7. Tangani Merge Conflict
Conflict berarti Git tidak dapat memilih hasil akhir secara otomatis. Jangan menghapus marker tanpa memahami kedua sisi. Buka file, bandingkan intended behavior, pilih atau gabungkan perubahan, jalankan test, lalu stage hasil resolusi.
git status
git add path/to/resolved-file
git commitJika conflict terlalu luas, berhenti dan minta pemilik perubahan menjelaskan source of truth. Menghasilkan build hijau tidak cukup jika requirement yang benar justru hilang.
8. Checklist Sebelum Commit dan Push
git statushanya menampilkan file yang memang terkait task.- Tidak ada
.env, token, private key, data user, atau file build besar. - Diff sudah dibaca, termasuk file generated yang relevan.
- Lint, typecheck, test, dan build dijalankan sesuai repository.
- Perubahan UI diperiksa pada desktop dan mobile.
- Commit message menjelaskan outcome.
- Push dilakukan ke branch yang benar.
Sumber resmi dan referensi
Gunakan sumber berikut untuk memeriksa command, fitur, pricing, atau limit terbaru.
Apakah panduan ini membantu?
Beritahu kami bila langkahnya berhasil atau ada informasi yang perlu diperbarui.