Bagaimana cara mendapatkan perubahan "mereka" di tengah git rebit yang bertentangan?


349

Saya memiliki cabang yang saling bertentangan, branch2 bercabang dari branch1.

Katakanlah ketika rebasing branch2pada saat branch1, sementara menyelesaikan konflik, saya memutuskan untuk mengambil beberapa (tidak semua) dari "mereka" (yaitu branch1) file apa adanya. Bagaimana aku melakukan itu?

Saya mencoba:

git checkout branch1:foo/bar.java
fatal: reference is not a tree: TS-modules-tmp:foo/bar.java

git checkout refs/heads/branch1:foo/bar.java
fatal: reference is not a tree: refs/heads/TS-modules-tmp:foo/bar.java

41
Catatan: jika Anda rebasing branch2 ke branch1, replaying terjadi relatif terhadap branch1, jadi "milik mereka" sebenarnya branch2 dan "milik kita" adalah branch1. git.661346.n2.nabble.com/…
Mr


1
Ini hanya menghabiskan waktu sekitar 20 jam kerja tekun. Jujur saya pikir "milik kita" akan selalu menjadi copy pekerjaan.
Theodore R. Smith

Jawaban:


496

Anda ingin menggunakan:

git checkout --ours foo/bar.java
git add foo/bar.java

Jika Anda rebase cabang feature_xterhadap master(yaitu berjalan git rebase mastersaat di cabang feature_x), selama rebasing oursmengacu pada masterdan theirske feature_x.

Seperti yang ditunjukkan dalam dokumen git-rebase :

Perhatikan bahwa gabungan rebase berfungsi dengan memutar ulang setiap komit dari cabang kerja di atas cabang. Karenanya, ketika konflik gabungan terjadi, pihak yang dilaporkan sebagai milik kami adalah seri yang sejauh ini telah dirubah, dimulai dengan <upstream>, dan milik mereka adalah cabang kerja. Dengan kata lain, sisi-sisinya ditukar.

Untuk detail lebih lanjut baca utas ini .


0

Jika Anda ingin menarik file tertentu dari cabang lain lakukan saja

git checkout branch1 -- filenamefoo.txt

Ini akan menarik versi file dari satu cabang ke pohon saat ini


35
Ini mungkin akan menjadi ide yang buruk di tengah-tengah rebase karena akan menarik file dari kepala cabang itu tidak pada titik kepala terpisah Anda akan berada di dalam negara rebase yang bertentangan
Clintm
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.