Seperti ditunjukkan dalam Bagaimana "bukan sesuatu yang bisa kita gabungkan" muncul? , kesalahan ini dapat muncul dari salah ketik nama cabang karena Anda mencoba menarik cabang yang tidak ada.
Jika bukan itu masalahnya (seperti dalam kasus saya), kemungkinan Anda tidak memiliki salinan cabang lokal yang ingin Anda gabungkan. Git membutuhkan pengetahuan lokal dari kedua cabang untuk menggabungkan cabang-cabang itu. Anda bisa menyelesaikan ini dengan memeriksa cabang yang akan digabung dan kemudian kembali ke cabang yang ingin Anda gabungkan.
git checkout branch-name
git checkout master
git merge branch-name
Ini seharusnya bekerja, tetapi jika Anda menerima pesan kesalahan
error: pathspec 'remote-name/branch-name' did not match any file(s) known to git.
Anda perlu mengambil remote (mungkin, tetapi tidak harus, "asal") sebelum memeriksa cabang:
git fetch remote-name
git fetch
pertama sebelum menggabungkan cabang jarak jauh.Git requires local knowledge of both branches in order to merge those branches
Itu saran yang konyol, tapi pastikan tidak ada kesalahan ketik pada nama cabang!
sumber
Ketika menarik dari hulu terpencil,
git fetch --all
lakukan trik untuk saya:Dalam kasus lain, saya menemukan kesalahan "Bukan sesuatu yang bisa kita gabungkan" juga akan terjadi jika cabang jarak jauh (asal, hulu) tidak ada. Ini mungkin tampak jelas, tetapi Anda mungkin menemukan diri Anda melakukan
git merge origin/develop
repo yang hanya dimilikimaster
.sumber
git remote add upstream
adalah hal penting yang saya hilang yang dipecahkan itu untuk saya. Saya pikir kesalahan umum adalah mengasumsikan garpu secara otomatis tahu dari mana garpu itu berasal.Saya punya masalah ini juga. Cabang itu terlihat seperti 'nama pengguna / master' yang tampaknya membingungkan git karena terlihat seperti alamat jarak jauh yang saya definisikan. Bagi saya menggunakan ini
bekerja dengan sangat baik.
sumber
origin/
depan nama cabang terpencil juga./
di dalamnya.Metode di bawah ini berfungsi untuk saya setiap saat.
sumber
Itu mungkin terjadi karena cabang itu tidak ada di lokal Anda. sebelum penggabungan digunakan
sumber
Anda mendapatkan kesalahan ini karena cabang yang ingin Anda gabungkan tidak ada di repositori lokal Anda.
Jadi, pertama periksa brach yang ingin Anda gabungkan ke cabang master dengan perintah berikut:
Setelah ini coba gabungkan dengan cabang utama dengan perintah berikut:
sumber
checkout
cabangKesalahan ini menunjukkan bahwa cabang dari tempat Anda ingin menggabungkan perubahan (yaitu dalam kasus Anda nama cabang) tidak ada di Anda secara lokal, jadi Anda harus checkout cabang dan mengambil perubahan lokal. Periksa ke cabang utama Anda dan ambil, lalu ikuti langkah-langkah di bawah ini:
sumber
Jawaban ini tidak terkait dengan pertanyaan di atas, tetapi saya menghadapi masalah serupa, dan mungkin ini akan berguna bagi seseorang. Saya menggabungkan cabang fitur saya ke master seperti di bawah ini:
Saya mendapat pesan kesalahan berikut:
Saya melihat ke atas semua solusi, tetapi tidak ada yang berhasil.
Saya menemukan masalah ini adalah kesalahan ejaan pada nama cabang saya (sebenarnya, nama cabang gabungan adalah
fix-loads
).sumber
git merge origin/fix-loads
berhasil.Saya mendapatkan kesalahan ini ketika saya melakukan
git merge BRANCH_NAME "some commit message"
- Saya lupa menambahkan flag -m untuk pesan commit, jadi ia berpikir bahwa nama cabang menyertakan komentar.sumber
Menurut pendapat saya saya telah melewatkan peta cabang lokal saya dengan repo jarak jauh. saya lakukan di bawah ini dan itu bekerja dengan baik.
sumber
Jika string yang berisi referensi dihasilkan oleh perintah Git lain (atau perintah shell lain untuk masalah ini), pastikan bahwa itu tidak mengandung kereta balik di akhir. Anda harus menghapusnya sebelum meneruskan string ke "git merge".
Perhatikan bahwa ini cukup jelas ketika ini terjadi, karena pesan kesalahan ada pada 2 baris:
sumber
Kami mendapat kesalahan ini karena kami memiliki koma (,) di nama cabang. Kami menghapus cabang lokal, lalu memeriksanya kembali dengan nama baru tanpa koma. Kami berhasil menggabungkannya dengan sukses.
sumber
Untuk anak cucu: Seperti kata AxeEffect ... jika Anda tidak memiliki kesalahan ketik, periksa untuk melihat apakah Anda memiliki karakter konyol dalam nama cabang lokal Anda, seperti koma atau apostrof. Persis yang terjadi pada saya barusan.
sumber
Saya sarankan memeriksa apakah Anda dapat beralih ke cabang yang ingin Anda gabungkan.
Saya mendapatkan kesalahan ini meskipun cabang yang ingin saya gabungkan ada di repositori lokal dan tidak ada kesalahan ejaan.
Saya mengabaikan perubahan lokal saya sehingga saya bisa beralih ke cabang (Stash atau komit juga bisa lebih disukai). Setelah ini saya beralih kembali ke cabang awal, dan penggabungan berhasil.
sumber
Bagi saya masalah terjadi ketika saya mencoba ini:
Jadi sebenarnya saya seharusnya menulis
master
alih-alihdevelop
, karena master adalah nama cabang dari Subtree, bukan cabang saya yang sebenarnya.sumber
Ini mungkin terdengar aneh, tapi ingat untuk mengatur email dan nama git Anda:
sumber
Bagi saya, masalahnya adalah 'tanda kutip ganda' menjadi pesan gabungan. Jadi ketika saya menghapus tanda ganda, semuanya bekerja secara ajaib. Saya berharap dapat membantu seseorang. (Maaf untuk bahasa Inggris saya yang buruk)
sumber
Saya memiliki pohon kerja dengan master dan cabang lain memeriksa dalam dua folder kerja yang berbeda.
Jika Anda hanya perlu menggabungkan komit terbaru:
Dan sama dengan apa yang selalu saya lakukan:
sumber
Cabang yang Anda coba gabungkan mungkin tidak dapat diidentifikasi oleh Anda git saat ini, jadi lakukan
git branch
dan lihat apakah cabang yang ingin Anda gabungkan ada, jika tidak maka lakukangit pull
dan sekarang jika Anda lakukangit branch
, cabang akan terlihat sekarang, dan sekarang kamu tampilgit merge <BranchName>
sumber