Cabang saat ini tidak dikonfigurasikan untuk tarik Tidak ada nilai untuk key branch.master.merge ditemukan dalam konfigurasi

163

Saya mendapatkan kesalahan ini ketika saya mencoba menarik dari repositori jarak jauh menggunakan tim Egit> pull

Cabang saat ini tidak dikonfigurasikan untuk tarik Tidak ada nilai untuk key branch.master.merge ditemukan dalam konfigurasi

Ismail Marmoush
sumber
2
Punya masalah yang sama tetapi untuk nilai untuk remote.origin.url kunci menemukan cara memperbaikinya di stackoverflow.com/a/10662106/759452
Adrien Be

Jawaban:

155

Cabang master lokal Anda tidak diatur untuk melacak cabang master jarak jauh.

Anda dapat melakukannya git pull origin masteruntuk memberi tahu git cabang eksplisit yang ingin Anda tarik atau menambahkan ini ke .git / config Anda:

[branch "master"]
  remote = origin
  merge = refs/heads/master

Saat Anda push to master untuk pertama kalinya, tambahkan -usakelar ( git push -u origin master). Ini akan mengatur semuanya secara otomatis.

Michał Szajbe
sumber
25
Tetapi bagaimana Anda melakukan ini di gerhana? Saya yakin pertanyaan ini ditandai sebagai "gerhana". Terima kasih! :)
jmort253
2
+1 Terima kasih. Jawaban Anda memang membantu karena ternyata kami tidak siap untuk menarik :) Setelah kami menemukan cara untuk mengonfigurasikannya di Eclipse, semuanya menjadi satu. Kami sekarang menemukan bahwa Git tidak terlalu menyakitkan untuk dikerjakan setelah Anda membungkus kepala Anda dengan cara kerjanya. Kami pada dasarnya memeriksa repositori lagi dan mengkonfigurasinya untuk menarik.
jmort253
16
@ jmort253 akan lebih baik jika Anda memperbarui pertanyaan dengan rincian apa yang harus Anda ubah di gerhana untuk mengkonfigurasi ini.
gview
@view - Maaf, saya berhenti menggunakan Egit dan saya menggunakan baris perintah. Ketika saya menarik, Eclipse menandai file apa pun yang dilakukan rekan saya yang dimodifikasi oleh saya dan tidak akan menyertakan perubahan. Jadi, saya menggunakan baris perintah. Saya tidak merekomendasikan EGit; namun, kolega saya yang menggunakan Mac dapat menggunakannya. Jika saya mencoba memberikannya kesempatan lain (ragu), saya akan memperbarui jawabannya di sini. Sejujurnya, saya tidak melihat semua hype tentang apa. Saya siap untuk kembali ke Subversion.
jmort253
9
@ jmort253, setelah saya meninggalkan Anda pesan, saya mencari-cari dan menemukan bahwa cara terbaik untuk menangani ini adalah dengan melakukan persis apa yang direkomendasikan dalam balasan asli. Egit membaca nilai-nilai dari .git / config, jadi mengeditnya dengan editor teks seperti yang dijelaskan, memperbaiki masalah.
gview
64

Ternyata, jawaban @ Michał Szajbe ADALAH solusi untuk masalah tersebut. Kunci gerhana yang dimaksud dibuat dari "direktori kerja" egit. Jika Anda mengalami masalah ini, kemudian temukan direktori .git di direktori kerja itu dan edit file .git / config dengan editor teks, tambahkan bagian yang dijelaskan Michal. Dalam pengalaman saya, ini adalah operasi yang cukup standar akhir-akhir ini untuk kasus-kasus ketika Anda pertama kali masuk dan mendorong ke remote yang tidak diinisialisasi, yang menciptakan cabang master. Saya belum menemukan cara dalam hal ini untuk tidak melakukan pengeditan manual untuk git pull, bahkan dengan git baris perintah.

Setelah hasil edit disimpan, klik kanan pada git repo dalam perspektif egit "Git Repositori" Anda, dan pilih properti, sekarang Anda akan melihat bagian kunci ini telah dibuat (atau lebih mungkin hanya membaca dari file konfigurasi) dan sebuah remote master ke master git pull lokal akan beroperasi seperti yang diharapkan ke depan.

masukkan deskripsi gambar di sini

Mungkin saja Anda dapat memasukkan sendiri kunci dan nilai-nilai ini, tetapi menyalin dan menempelkan apa yang ditampilkan Michal jelas jauh lebih cepat dan mungkin lebih aman. Saya tidak benar-benar mencoba menambahkan kunci secara manual melalui editor properti atau saya juga cenderung, karena saya tahu metode ini bekerja, dan masuk akal karena egit hanya memanggil melalui repo git lokal.

Saya juga mendukung beberapa orang di kantor saya yang menggunakan Flex dan editor Flexbuilder yang dibangun di atas gerhana dan egit. Instruksi ini juga relevan bagi mereka.

gview
sumber
7
Saya tidak mengedit file konfigurasi secara langsung, tetapi menambahkan kunci "branch.master.merge" menggunakan dialog Properties yang ditunjukkan di atas. Ini juga berfungsi seperti sharm.
Matthias Wuttke
57

Untuk memperbaiki masalah ini di Eclipse, buka menu Windows dan pilih Show View / Other / Repositori Git .

Dari tab Repositori Git:

  • perluas repositori lokal Anda
  • klik kanan pada Remote
  • klik Buat Jarak Jauh ...
  • Nama jauh = asal
  • di sebelah IRI tekan tombol Ubah
  • CTRL+ SPACEdi URI
  • pilih lokasi yang jauh
  • tekan Selesai
  • tekan Simpan dan Dorong

Sekali lagi, dari tab Repositori Git:

  • klik kanan pada asal
  • pilih Configure Fetch ...
  • pada pemetaan Ref tekan tombol Edit (Lanjutan) ...
  • tekan Tambah Semua Cabang Spec
  • pilih Angkatan Perbarui kotak centang
  • tekan Selesai

Sekali lagi, dari tab Repositori Git:

  • klik kanan pada repositori lokal Anda
  • pilih Properties
  • tekan Entri Baru ...
  • masukkan dua tombol berikut:

(1)

Key = branch.master.remote
Value = origin

(2)

Key = branch.master.merge
Value = refs/heads/master
Marco Lackovic
sumber
4
Bagi saya, ini adalah jawaban terbaik untuk pertanyaan itu.
Kashif Nazar
1
Jawaban yang diterima tampaknya melewatkan beberapa langkah yang dibahas di sini.
FableBlaze
47

Ini bekerja untuk saya:

Klik kanan cabang lokal saya yang tidak dapat ditarik (milik saya disebut "pengembangan") Pilih "Konfigurasi Cabang ..." Untuk "Cabang Hulu:", saya memilih "ref / kepala / pengembangan" Untuk "Remote:" Saya memilih "asal" Kiri "Rebase" tidak dicentang Hit OK

Sekarang jendela konfigurasi config saya terlihat seperti yang ada di jawaban gview.

Zip184
sumber
14
Saya menemukan "Konfigurasi Cabang ..." sangat sulit ditemukan. Saya berhasil menemukannya dengan membuka tampilan "Git Repositori", memperluas cabang, lokal dan kemudian mengklik kanan cabang
Edd
18

Saya juga punya masalah untuk mengkonfigurasinya. Ini berfungsi sekarang jadi saya akan membagikan file konfigurasi saya. Saya pikir itu akan membantu:

[core]
    repositoryformatversion = 0
    filemode = false
    logallrefupdates = true

    [branch "master"] 
        remote = origin 
        merge = refs/heads/master 
    [remote "origin"] 
        url = https://github.com/chelder86/ArcadeTongame.git
        fetch = +refs/heads/*:refs/remotes/origin/*

Catatan: https://github.com/chelder86/ArcadeTongame.githarus diganti dengan URL klon HTTPS Anda sendiri.

chelder
sumber
File konfigurasi yang berfungsi persis seperti yang saya perlukan untuk melihatnya. Terima kasih!
Martin Tuskevicius
10

Permasalahan yang sama. Inilah cara saya menyelesaikannya dalam eclipse / egit :

Awalnya saya mengkloning repo jarak jauh ke komputer kantor saya (repo saya sendiri, tetapi pada server jauh). Kemudian saya membuat cabang baru proyek repo secara lokal ("pengujian"), dan mendorongnya ke repositori jarak jauh. Repo jarak jauh yang dikloning ke laptop saya, beralih ke cabang "pengujian", mengerjakannya, dll., Mendorong, lalu kembali ke kantor. Ketika saya mencoba menarik "pengujian" perubahan dari server, mendapat msg "cabang lokal tidak dikonfigurasi untuk tarik".

Masalahnya adalah bahwa pada desktop, "pengujian" hanya bersifat lokal, tidak memiliki info URL jarak jauh, sehingga tidak dapat menarik perubahan.

Saya memecahkan ini dalam eclipse (egit) dengan:

  1. menghapus cabang lokal
  2. tarik cabang dari repo jarak jauh sebagai cabang baru.

Langkah-langkahnya adalah:

  • Pergi ke Git Repository Menjelajahi perspektif
  • ganti nama cabang lokal "zzz" (paranoid, tidak suka menghapus sampai yakin saya sudah benar!)
  • rt-klik "Cabang", "Alihkan ke", "Cabang Baru"
  • tarik daftar "Sumber ref", pilih cabang "pengujian" (strategi tarik "gabungan", "Periksa cabang baru" dicentang)
  • klik "selesai"
  • Beralih ke perspektif biasa, pastikan file saya ada
  • kembali ke Git Repository Menjelajahi dan menghapus cabang "zzz"

Catatan: sedang menjalankan Eclipse Indigo. Langkah-langkah mungkin berbeda pada rilis lainnya.

seperti scott-fleming
sumber
9

Saya baru saja mendapat masalah yang sama tetapi jawaban yang diterima tidak berhasil untuk saya. Inilah yang saya lakukan (walaupun saya tidak dapat mengonfirmasi apakah jawaban yang diterima berdampak karena konfigurasi yang diperbarui tetap ada):

Perluas pohon repositori git Anda dari tampilan 'Git Repositori'.

Klik kanan pada 'Remote' dan pilih 'Buat Remote'

Pilih tombol radio 'Konfigurasikan pengambilan' -> 'Oke'

Pilih 'Ubah' di seberang 'URI' kotak teks

Masukkan detail git repositori Anda dan klik 'Selesai'

Pilih 'Simpan'

Anda sekarang dapat menarik dari repositori jarak jauh.

Catatan - ketika saya mencoba 'Dry-Run' yang saya pikir hanya tes koneksi gagal tetapi tarikannya tetap bekerja.

langit biru
sumber
bekerja dengan sempurna. Solusi serupa untuk pertanyaan ini stackoverflow.com/a/10662106/759452
Adrien Be
3

Tentang solusi gview:

then find the .git directory in that working directory and edit the .git/config file with a text editor

Anda tidak perlu menemukannya sendiri atau membukanya dengan editor teks.

  • Window -> Show view -> Other -> GIT -> Git Repositori
  • Buka folder repo yang Anda buat.
  • Ini akan berisi folder yang disebut "Direktori Kerja" memperluasnya.
  • Akan ada folder di dalam folder "Direktori Kerja" yang disebut ".git" perluas itu.
  • Di dalam ".git" akan ada "config", klik kanan "config" -> buka di editor. File config akan terbuka tepat di Eclipse tempat Anda dapat mengeditnya. Saya menambahkan yang berikut ini dan sekarang saya dapat menarik tanpa kesalahan:

[cabang "master"]

remote = asal

menggabungkan = ref / kepala / master

mike
sumber
2

Apa yang saya temukan yang berhasil menggunakan eclispe (ini jelas bukan cara yang tepat untuk menyelesaikannya tetapi berhasil): dorong ke repositori jarak jauh, hapus ruang kerja dan repositori lokal, impor dari git menggunakan dialog impor. Wizard impor menangani pengaturan segalanya untuk penarikan di masa mendatang.

thomas
sumber
2

Coba windows-> Tampilkan Tampilan-> Navigator. Di jendela Navigator, cari folder bin di proyek Anda Kemudian komit folder bin untuk github dan berharap itu berfungsi dengan baik. Coba tarik atau ambil setelah semua tugas di atas.

pengguna11435
sumber
2
The current branch is not configured for pull.
No value for key branch.master.merge found in configuration

Alternatif untuk PULL (menghindari kesalahan di atas) adalah:

  1. FETCH untuk memperbarui cabang jarak jauh Anda di mesin Anda
  2. MERGE dari cabang lokal Anda dengan cabang terpencil Anda
    (Team -> Merge ... -> remote Tracking -> asal / cabang )
Batu
sumber
2

tampilan repositori git -> + cabang -> lokal -> pilih cabang lokal yang ingin Anda tetapkan ke remote -> klik kanan -> pilih remote (mungkin asal) dan cabang upstream

piotrek
sumber
ini berhasil dalam gerhana tanpa modifikasi "file konfigurasi". Harus menjadi jawaban yang diterima, karena pertanyaannya khusus untuk gerhana.
josephus
1

Solusi paling sederhana yang saya temukan saat menggunakan plugin Eclipse Git adalah sebagai berikut:

  1. Klik kanan proyek dan pilih Tim> Push Branch
  2. Pastikan kotak di sebelah "Konfigurasikan upstream untuk mendorong dan menarik" dicentang
  3. Klik berikutnya dan selesaikan push.

Setelah ini selesai, cabang sekarang akan dikonfigurasi dengan benar untuk tarikan juga.

Francis Brennan
sumber
1

edit file config di folder .git repositori Anda seperti ini.

ganti https://github.com/your/urike uri repositori github Anda.

semoga berhasil.

[core]
    symlinks = false
    repositoryformatversion = 0
    filemode = false
    logallrefupdates = true
[branch "master"]
    remote = origin
    merge = refs/heads/master
[remote "origin"]
    url = https://github.com/your/uri
    fetch = +refs/heads/*:refs/remotes/origin/*

ps: gunakan ide, lupakan gerhana

TGich
sumber
0

Anda perlu mengganti file config Anda dengan kode ini .. file config Anda berada di dalam folder 'git' di repositori Anda. Folder 'git' disembunyikan jadi pertama-tama Anda harus menunjukkan file yang tersembunyi. Buka file konfigurasi dan tulis kode-kode ini: -

[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true


hideDotFiles = dotGitOnly
[remote "origin"]
url = 'url to the git repository that you want to pull'
fetch = 

+refs/heads/*:refs/remotes/origin/*
puttykeyfile = 
[branch "master"]
remote = origin
merge = refs/heads/master
[gui]
wmstate = normal


geometry = 887x427+66+66 171 192
ular berbisa
sumber
0

Saya mendapat masalah yang sama di Eclipse Neon. Tetapi tidak ada solusi yang bekerja untuk saya. Saya mendapatkan masalah ketika saya mengubah cabang proyek dan kemudian melemparkan kesalahan ini. Solusi yang saya coba adalah:

  1. Buka file project / .git / config .
  2. Jika rebase = false , hapus.
  3. Perbarui proyek Anda.
  4. Lakukan git pull atau tarik dari gerhana.
  5. Kesalahan teratasi.

PS: Karena ini adalah utas lama, hanya memperbarui karena ini mungkin masuk untuk orang lain.

Lebah yang Sibuk
sumber
0

Saat melakukan, jika Anda mengalami masalah ini. Coba pendekatan sederhana ini:

  1. Team-> Push to upstream - Munculan terbuka.
  2. Salin URI Anda dan rekatkan di sembulan itu.

Cabang Anda dikonfigurasikan untuk menarik / mendorong. Perubahan kode Anda akan didorong ke repositari.

Terima kasih

Ganapati prasad
sumber