Menyelesaikan Git Conflict dengan `git checkout --ours`

Agung Dirgantara
By -
0

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

Posting Komentar (0)