Pertanyaan Git bergabung saat beralih ke submodule


Kami menggunakan kerangka kerja Qooxdoo di aplikasi kami. Untuk saat ini, salinannya disimpan di repositori Git kami di folder root "qooxdoo". Kami telah memutuskan untuk mengganti dengan submodul yang menunjuk langsung ke repositori GitHub Qooxdoo, sehingga kami dapat memeriksa versi baru di masa mendatang dengan lebih mudah.

Saya membuat cabang untuk perubahan ini berdasarkan master, yang disebut qooxdoo-update. Folder lama dihapus sepenuhnya dan menambahkan submodule untuk qooxdoo.

git rm -r qooxdoo
  git submodule tambahkan git: //github.com/qooxdoo/qooxdoo.git qooxdoo

Sejauh ini kerjanya cukup bagus. Namun masalah muncul ketika saya ingin menggabungkan master ke dalam cabang ini agar terus diperbarui sampai pengembang lain dapat menguji kode mereka terhadap versi baru.

Saat masih di cabang qooxdoo-update saya mengeluarkan perintah:

git menggabungkan origin / master

CONFLICT (file / direktori): Ada direktori dengan nama qooxdoo di asal / master. Menambahkan qooxdoo sebagai qooxdoo ~ HEAD

kemudian...

status git
  Jalur tidak digabung:      (gunakan "git add / rm ..." yang sesuai untuk menandai resolusi)

   added by us:        qooxdoo

berlari ...

git rm qooxdoo
  qooxdoo: kebutuhan bergabung
  rm 'qooxdoo'
  Membatalkan tautan file 'qooxdoo' gagal. Haruskah saya mencoba lagi? (y / n)

atau...

git tambahkan qooxdoo
  kesalahan: tidak dapat mengindeks file qooxdoo
  fatal: memperbarui file gagal

Jadi saya tidak begitu yakin bagaimana menyelesaikan konflik itu agar berhasil menyelesaikan penggabungan.


5
2017-12-07 09:22


asal


Jawaban:


Itu git rm -rf qooxdoo perintah harus dilakukan dalam komit sendiri, diikuti oleh penambahan submodule. Itu akan memberitahu git (ketika menggabungkan dari master ke cabang) tentang niat. Saat ini, komit yang sama sedang digabung hanya mengganti file / konten - jadi git jadi bingung. Adakah kesempatan Anda dapat memutar ulang master commit?


0
2017-11-04 00:03



Jika Anda ingin kembali ke versi terbaru dari file / dir Anda sebelumnya, jalankan:

git reset HEAD qooxdoo

harus bekerja.


1
2018-05-22 14:45