Nhánh hiện tại không được cấu hình để kéo Không có giá trị cho khóa Branch.master.merge được tìm thấy trong cấu hình


163

Tôi gặp lỗi này khi tôi cố gắng kéo từ kho lưu trữ từ xa bằng cách sử dụng nhóm Egit> pull

Nhánh hiện tại không được cấu hình để kéo Không có giá trị cho khóa Branch.master.merge được tìm thấy trong cấu hình


2
Có cùng một vấn đề nhưng về giá trị cho khóa từ xa.origin.url đã tìm ra cách khắc phục vấn đề này trên stackoverflow.com/a/10662106/759452
Adrien Be

Câu trả lời:


155

Chi nhánh chính cục bộ của bạn không được thiết lập để theo dõi chi nhánh chính từ xa.

Bạn có thể làm git pull origin masterđể nói với git nhánh rõ ràng bạn muốn kéo hoặc bạn thêm nó vào .git / config:

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

Khi bạn nhấn để làm chủ lần đầu tiên, hãy thêm công -utắc ( git push -u origin master). Điều này sẽ thiết lập mọi thứ tự động.


25
Nhưng làm thế nào để bạn làm điều này trong nhật thực? Tôi tin rằng câu hỏi được gắn thẻ là "nhật thực". Cảm ơn! :)
jmort253

2
+1 Dù sao cũng cảm ơn. Câu trả lời của bạn đã giúp ích vì hóa ra chúng tôi không thiết lập để kéo :) Một khi chúng tôi tìm ra cách cấu hình nó trong Eclipse, mọi thứ kết hợp lại với nhau. Bây giờ chúng ta thấy rằng Git không quá đau đớn để làm việc với một khi bạn quấn đầu xung quanh cách nó hoạt động. Về cơ bản chúng tôi đã kiểm tra kho lưu trữ một lần nữa và cấu hình nó để kéo.
jmort253

16
@ jmort253 sẽ rất tuyệt nếu bạn cập nhật câu hỏi với các chi tiết về những gì bạn phải thay đổi trong nhật thực để định cấu hình này.
xem

@gview - Xin lỗi, tôi đã ngừng sử dụng Egit và đang sử dụng dòng lệnh. Khi tôi kéo, Eclipse đã đánh dấu bất kỳ tệp nào mà các đồng nghiệp của tôi đã cam kết sửa đổi và sẽ không bao gồm các thay đổi. Vì vậy, tôi đang sử dụng dòng lệnh. Tôi không khuyên dùng EGit; tuy nhiên, đồng nghiệp của tôi sử dụng máy Mac có thể sử dụng nó. Nếu tôi cố gắng cho nó một cơ hội khác (nghi ngờ), tôi sẽ cập nhật câu trả lời ở đây. Thành thật mà nói, tôi không thấy tất cả những gì cường điệu về. Tôi đã sẵn sàng để quay trở lại Subversion.
jmort253

9
@ jmort253, sau khi tôi để lại tin nhắn cho bạn, tôi chọc ngoáy và nhận ra rằng cách tốt nhất để xử lý việc này là làm chính xác những gì được đề xuất trong phản hồi ban đầu. Egit đọc các giá trị từ .git / config, do đó chỉnh sửa nó bằng trình soạn thảo văn bản như mô tả, khắc phục sự cố.
xem

64

Hóa ra, câu trả lời của @ Michał Szajbe là giải pháp cho vấn đề. Các khóa nhật thực trong câu hỏi được xây dựng từ "thư mục làm việc" egit. Nếu bạn gặp phải vấn đề này, sau đó tìm thư mục .git trong thư mục làm việc đó và chỉnh sửa tệp .git / config bằng trình soạn thảo văn bản, thêm phần Michal mô tả. Theo kinh nghiệm của tôi, đây là một hoạt động khá chuẩn trong những trường hợp khi bạn lần đầu tiên khởi động và đẩy đến một điều khiển từ xa chưa được khởi tạo, tạo ra nhánh chính. Tôi đã không tìm thấy một cách nào trong trường hợp đó là không thực hiện chỉnh sửa thủ công để git pull, ngay cả với dòng lệnh git.

Sau khi chỉnh sửa được lưu, nhấp chuột phải vào git repo trong phối cảnh "Kho lưu trữ Git" của bạn và chọn thuộc tính, bây giờ bạn sẽ thấy phần phím này đã được tạo (hoặc nhiều khả năng chỉ cần đọc từ tệp cấu hình) và từ xa master để kéo git master địa phương sẽ hoạt động như mong đợi trong tương lai.

nhập mô tả hình ảnh ở đây

Có thể bạn có thể tự nhập các khóa và giá trị này, nhưng sao chép và dán những gì Michal thể hiện chắc chắn nhanh hơn rất nhiều và có thể an toàn hơn. Tôi thực sự đã không thử thêm các khóa thủ công thông qua trình soạn thảo thuộc tính cũng như tôi có thể, vì tôi biết phương pháp này hoạt động và có ý nghĩa vì egit chỉ đơn giản là gọi qua repo git cục bộ.

Tôi cũng đang hỗ trợ một số người trong văn phòng của tôi, những người đang sử dụng Flex và trình soạn thảo Flexbuilder được xây dựng trên đỉnh của nhật thực và egit. Những hướng dẫn này có liên quan như nhau đối với họ.


7
Tôi không chỉnh sửa trực tiếp tệp cấu hình, nhưng đã thêm khóa "Branch.master.merge" bằng hộp thoại Thuộc tính được hiển thị ở trên. Điều này cũng làm việc như một sharm.
Matthias Wuttke

57

Để khắc phục vấn đề này trong Eclipse, hãy mở menu Windows và chọn Show View / Other / Git Reporiesories .

Từ tab Kho Git:

  • mở rộng kho lưu trữ cục bộ của bạn
  • nhấp chuột phải vào Remote
  • nhấp vào Tạo từ xa ...
  • Tên từ xa = nguồn gốc
  • bên cạnh IRI nhấn nút Change
  • CTRL+ SPACEtrên URI
  • chọn địa điểm từ xa
  • nhấn Kết thúc
  • nhấn Save và Push

Một lần nữa, từ tab Kho Git:

  • nhấp chuột phải vào nguồn gốc
  • chọn Cấu hình tìm nạp ...
  • trên ánh xạ Ref, nhấn nút Chỉnh sửa (Nâng cao) ...
  • nhấn Thêm tất cả các chi nhánh
  • chọn hộp kiểm Cập nhật lực lượng
  • nhấn Kết thúc

Một lần nữa, từ tab Kho Git:

  • nhấp chuột phải vào kho lưu trữ cục bộ của bạn
  • chọn Thuộc tính
  • nhấn New Entry ...
  • nhập hai khóa sau:

(1)

Key = branch.master.remote
Value = origin

(2)

Key = branch.master.merge
Value = refs/heads/master

4
Đối với tôi, đây là câu trả lời tốt nhất cho câu hỏi.
Kashif Nazar

1
Câu trả lời được chấp nhận dường như còn thiếu một số bước được đề cập ở đây.
FableBlaze

47

Điều này làm việc cho tôi:

Nhấp chuột phải vào chi nhánh địa phương đã kiểm tra của tôi mà không thể kéo (được gọi là "phát triển") Chọn "Cấu hình chi nhánh ..." Đối với "Chi nhánh thượng nguồn:", tôi đã chọn "refs / Heads / Development" cho "Remote:" Tôi đã chọn "gốc" Còn lại "Rebase" không được chọn Hit OK

Bây giờ cửa sổ cấu hình của tôi trông giống như trong câu trả lời của gview.


14
Tôi thấy "Cấu hình chi nhánh ..." rất khó tìm. Tôi quản lý để tìm thấy nó bằng cách đi đến chế độ xem "Kho lưu trữ Git", mở rộng các chi nhánh, địa phương và sau đó nhấp chuột phải vào chi nhánh
Edd

18

Tôi cũng có vấn đề để cấu hình nó. Hiện tại nó đang hoạt động nên tôi sẽ chia sẻ tập tin cấu hình của mình. Tôi nghĩ rằng nó sẽ giúp:

[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/*

Lưu ý: https://github.com/chelder86/ArcadeTongame.gitnên được thay thế bằng URL bản sao HTTPS của riêng bạn.


Một tập tin cấu hình làm việc là chính xác những gì tôi cần xem xét. Cảm ơn!
Martin Tuskevicius

10

Vấn đề tương tự. Đây là cách tôi giải quyết nó trong nhật thực / egit :

Ban đầu tôi đã nhân bản một repo từ xa vào máy tính văn phòng của tôi (repo của riêng tôi, nhưng trên một máy chủ từ xa). Sau đó, tôi đã tạo một nhánh mới của dự án repo cục bộ ("thử nghiệm") và đẩy nó vào kho lưu trữ từ xa. Nhân bản repo từ xa vào máy tính xách tay của tôi, chuyển sang chi nhánh "thử nghiệm", làm việc với nó, v.v., đẩy, sau đó quay lại văn phòng. Khi tôi cố gắng kéo "kiểm tra" các thay đổi từ máy chủ, nhận được thông báo "nhánh cục bộ không được cấu hình để kéo".

Vấn đề là trên máy tính để bàn, "thử nghiệm" chỉ là cục bộ, không có thông tin URL từ xa, do đó không thể kéo các thay đổi.

Tôi đã giải quyết điều này trong nhật thực (egit) bằng cách:

  1. xóa chi nhánh địa phương
  2. kéo chi nhánh từ repo từ xa như chi nhánh mới.

Các bước là:

  • Chuyển đến phối cảnh Khám phá Kho lưu trữ Git
  • đổi tên chi nhánh địa phương "zzz" (hoang tưởng, không thích xóa cho đến khi chắc chắn tôi đã hiểu đúng!)
  • nhấp vào "Chi nhánh", "Chuyển sang", "Chi nhánh mới"
  • kéo xuống danh sách "Nguồn ref", chọn chi nhánh "thử nghiệm" (kéo chiến lược "hợp nhất", "Thanh toán chi nhánh mới" đã chọn)
  • bấm "kết thúc"
  • Chuyển sang phối cảnh thông thường, đảm bảo các tệp của tôi có mặt
  • quay trở lại Kho lưu trữ Git Khám phá và xóa chi nhánh "zzz"

Lưu ý: đang chạy Indigo Eclipse. Các bước có thể khác nhau trên các bản phát hành khác.


9

Tôi chỉ gặp vấn đề tương tự nhưng chấp nhận câu trả lời không hiệu quả với tôi. Đây là những gì tôi đã làm (mặc dù tôi không thể xác nhận nếu câu trả lời được chấp nhận có ảnh hưởng vì cấu hình cập nhật vẫn còn):

Mở rộng cây kho git của bạn từ chế độ xem 'Kho lưu trữ Git'.

Nhấp chuột phải vào 'Từ xa' và chọn 'Tạo từ xa'

Chọn nút radio 'Định cấu hình tìm nạp' -> 'Ok'

Chọn hộp văn bản 'Thay đổi' đối diện 'URI'

Nhập chi tiết kho lưu trữ git của bạn và nhấp vào 'Kết thúc'

Chọn 'Lưu'

Bây giờ bạn có thể lấy từ kho lưu trữ từ xa.

Lưu ý - khi tôi thử 'Chạy khô' mà tôi nghĩ chỉ là kiểm tra kết nối thì không thành công nhưng kéo vẫn hoạt động.


hoạt động hoàn hảo. Giải pháp tương tự như đối với câu hỏi này stackoverflow.com/a/10662106/759452
Adrien Be

3

Về giải pháp của gview:

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

Bạn không cần phải tự tìm hoặc mở nó bằng trình soạn thảo văn bản.

  • Cửa sổ -> Hiển thị chế độ xem -> Khác -> GIT -> Kho Git
  • Mở rộng thư mục repo bạn đã tạo.
  • Nó sẽ chứa một thư mục có tên "Thư mục làm việc" mở rộng nó.
  • Sẽ có một thư mục bên trong thư mục "Thư mục làm việc" có tên ".git" mở rộng nó.
  • Bên trong ".git" sẽ có "config", nhấp chuột phải vào "config" -> mở trong trình chỉnh sửa. Tệp cấu hình sẽ mở ngay trong Eclipse nơi bạn có thể chỉnh sửa nó. Tôi đã thêm vào như sau và bây giờ tôi có thể kéo mà không gặp lỗi:

[nhánh "chủ"]

từ xa = nguồn gốc

hợp nhất = refs / thủ trưởng / chủ


2

Những gì tôi thấy đã làm việc bằng cách sử dụng eclispe (đây chắc chắn không phải là cách phù hợp để thực hiện điều này nhưng nó hoạt động): đẩy đến kho lưu trữ từ xa, xóa không gian làm việc và kho lưu trữ cục bộ, nhập từ git bằng cách sử dụng đối thoại nhập. Trình hướng dẫn nhập khẩu đảm nhiệm việc thiết lập mọi thứ cho các lần kéo trong tương lai.


2

Hãy thử windows-> Show View-> Navigator. Trong các cửa sổ Điều hướng, tìm thư mục bin trong dự án của bạn Sau đó cam kết thư mục bin vào github và hy vọng nó hoạt động tốt. Hãy thử kéo hoặc lấy nó sau tất cả các nhiệm vụ trên.


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

Một thay thế cho PULL (tránh lỗi trên) là:

  1. PHÙ HỢP để cập nhật chi nhánh từ xa trên máy của bạn
  2. MERGE chi nhánh địa phương của bạn với chi nhánh từ xa
    (Nhóm -> Hợp nhất ... -> Theo dõi từ xa -> nguồn gốc / chi nhánh )

2

Chế độ xem kho git -> + nhánh -> cục bộ -> chọn nhánh cục bộ bạn muốn gán cho điều khiển từ xa -> nhấp chuột phải -> chọn từ xa (có thể là nguồn gốc) và nhánh ngược dòng


điều này đã làm điều đó trong nhật thực mà không có bất kỳ sửa đổi "tập tin cấu hình" nào. Nên là câu trả lời được chấp nhận, vì câu hỏi dành riêng cho nhật thực.
josephus

1

Giải pháp đơn giản nhất mà tôi đã tìm thấy khi sử dụng plugin Git Eclipse như sau:

  1. Nhấp chuột phải vào dự án và chọn Team> Push Branch
  2. Đảm bảo chọn hộp bên cạnh "Định cấu hình ngược dòng để đẩy và kéo"
  3. Nhấp vào tiếp theo và hoàn thành việc đẩy.

Sau khi hoàn thành, nhánh này cũng sẽ được cấu hình chính xác để kéo.


1

chỉnh sửa tập tin cấu hình trong thư mục .git kho lưu trữ của bạn như thế này.

thay thế https://github.com/your/uricho uri kho lưu trữ github của bạn.

chúc may mắn.

[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: sử dụng ý tưởng, quên nhật thực


0

Bạn cần thay thế tệp cấu hình của mình bằng mã này .. tệp cấu hình của bạn được đặt trong thư mục 'git' trong kho lưu trữ của bạn. Thư mục 'git' bị ẩn nên trước tiên bạn phải hiển thị các tệp bị ẩn. Mở tệp cấu hình và viết các mã sau: -

[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

0

Tôi đã gặp vấn đề tương tự trong Eclipse neon. Nhưng không có giải pháp nào hiệu quả với tôi. Tôi gặp vấn đề khi tôi thay đổi chi nhánh của dự án và sau đó nó đã ném lỗi này. Giải pháp tôi đã thử là:

  1. Chuyển đến dự án / .git / config tập tin .
  2. Nếu rebase = sai , loại bỏ nó.
  3. Làm mới dự án của bạn.
  4. Làm git kéo hoặc kéo từ nhật thực.
  5. Lỗi đã được giải quyết.

PS: Vì đây là một chủ đề cũ, chỉ cần cập nhật vì điều này có thể đến với người khác.


0

Trong khi cam kết, nếu bạn gặp phải vấn đề này. Hãy thử phương pháp đơn giản này:

  1. Đội-> Đẩy lên thượng nguồn - Một cửa sổ bật lên mở ra.
  2. Sao chép URI của bạn và dán vào cửa sổ bật lên đó.

Chi nhánh của bạn được cấu hình để kéo / đẩy. Thay đổi mã của bạn sẽ được đẩy đến reposname.

Cảm ơn

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.