Saat bekerja dengan Git, konflik adalah hal yang normal—terutama ketika melakukan merge atau rebase. Salah satu cara tercepat untuk menyelesaikan konflik adalah dengan memilih versi dari branch kita sendiri menggunakan:
```bash id="g1k9qz" git checkout --ours .
Tapi apa sebenarnya `--ours` itu, dan kapan harus dipakai?
---
# 🧠 Apa itu `--ours` di Git?
`--ours` adalah opsi untuk memilih **versi file dari sisi kita (current branch)** saat terjadi conflict.
Secara sederhana:
> `--ours` = pakai versi kita sendiri
---
## ⚠️ Penting: arti `--ours` tergantung konteks
| Kondisi | `--ours` berarti |
| ------- | ------------------------------------------------------------ |
| merge | branch kita (HEAD) |
| rebase | commit yang sedang direbase (branch kita yang diputar ulang) |
---
# 🔥 Cara penggunaan dasar
Saat terjadi conflict:
```bash id="k2m8sl"
git checkout --ours .
git add .
git rebase --continue
atau jika merge:
```bash id="p9q1we" git checkout --ours . git add . git commit
---
# 🧪 Studi Kasus 1: Rebase feature ke main
## Situasi
Kamu berada di branch:
```text id="a8m3qv"
feature/login
Lalu kamu melakukan:
```bash id="r7t2nd" git rebase main
---
## Conflict terjadi di:
```ts id="c3k8pz"
config.ts
Keputusan: pakai versi feature (ours)
Karena kamu yakin konfigurasi di feature lebih sesuai:
```bash id="x9l2ae" git checkout --ours config.ts git add config.ts git rebase --continue
---
## 🎯 Hasil:
Conflict selesai dan versi feature tetap dipertahankan.
---
# 🧪 Studi Kasus 2: Menjaga konfigurasi lokal
## Situasi
```text id="v4n1qw"
main: config production
feature: config local development
Saat merge, terjadi conflict.
Tujuan:
👉 tetap pakai config lokal
Solusi cepat:
```bash id="z6k0lm" git checkout --ours config.ts git add config.ts git commit
---
# 🧪 Studi Kasus 3: Banyak file conflict sekaligus
Jika banyak file conflict dan kamu yakin semua versi kamu yang benar:
```bash id="t8p5jd"
git checkout --ours .
git add .
👉 Semua file conflict langsung diselesaikan sekaligus
⚖️ Perbedaan --ours vs --theirs
| Opsi | Arti |
|---|---|
--ours |
versi kita |
--theirs |
versi dari branch lawan |
Contoh saat rebase:
```text id="m5r8kv" ours = feature branch theirs = main branch
---
# ⚠️ Risiko penggunaan `--ours`
Walaupun cepat, `--ours` bisa berbahaya jika digunakan sembarangan.
Hindari jika:
❌ ada perubahan penting dari tim lain
❌ file berisi logic bisnis (payment, auth, API)
❌ kamu belum review perbedaan commit
---
# 🧠 Kapan sebaiknya menggunakan `--ours`?
Gunakan jika:
✔ perubahan dari branch lain tidak relevan
✔ file bersifat konfigurasi (env, lint, format)
✔ kamu yakin branch kamu adalah sumber kebenaran
✔ ingin resolve conflict dengan cepat
---
# 🚀 Ringkasan penting
* `--ours` = pakai versi kita
* sangat cepat untuk resolve conflict
* harus digunakan dengan hati-hati
---
# 💡 Mental model sederhana
Bayangkan conflict seperti ini:
```text id="q1v8xz"
Versi kamu vs Versi orang lain
--ours→ “ikut saya”--theirs→ “ikut mereka”
🧭 Kesimpulan
git checkout --ours . adalah cara cepat untuk menyelesaikan conflict dengan memilih versi dari branch saat ini.
Namun:
Kecepatan harus diimbangi dengan pemahaman, bukan sekadar “menang cepat”.

Posting Komentar
0Komentar