2012-12-01 21 views
16

Khi sử dụng GitHub cho ứng dụng Mac (phiên bản 87), tôi nhận được lỗi sau:GitHub cho lỗi Mac: git: 'chứng-osxkeychain' không phải là một lệnh git

git: 'credential-osxkeychain' is not a git command. See 'git --help'.

error: The requested URL returned error: 403 while accessing https://github.com/[PROJECT URL]/info/refs

fatal: HTTP request failed (256)

Các git dòng lệnh công cụ (phiên bản 1.8.0) được cài đặt tại /usr/local/git/bin và git-credential-osxkeychain được cài đặt chính xác tại /usr/local/git/bin.

Tôi làm cách nào để giải quyết lỗi này?

+2

bạn đã nhập gì? –

+2

Tôi không gõ gì cả, tôi nhấn nút Đồng bộ. Tôi có một giải pháp, nhưng stackoverflow sẽ không cho phép tôi đăng nó cho đến sau 8 giờ kể từ khi tôi là một người dùng mới. –

+0

'sudo ln -s/usr/local/git/bin/git-thông tin xác thực-osxkeychain/usr/local/bin/git-credential-osxkeychain' phải khắc phục. @William có câu trả lời tương tự mặc dù anh ta đã tạo liên kết mềm trong '/ usr/bin' thay vì'/usr/local/bin' –

Trả lời

10

Nguồn của sự cố này là GitHub dành cho Mac sử dụng đường dẫn thư mục khác cho các tệp thi hành của nó so với Công cụ dòng lệnh.

GitHub cho Mac: /Applications/GitHub.app/Contents/Resources/git/bin

Command Line Tools:/usr/local/git/bin/

Vì vậy, khi GitHub cho Mac cố gắng đồng bộ hóa một nhánh, nó trình bày lỗi vì nó không thể tìm thấy tệp thực thi git-credential-osxkeychain.

Để giải quyết vấn đề:

  1. Launch ga
  2. Tạo một liên kết tượng trưng cho git-chứng-osxkeychain từ Command Line Công cụ Dir để GitHub cho Mac Dir

ln -s <git-command-line-tools dir path>/git-credential-osxkeychain <github for mac path>/git-credential-osxkeychain

Đây là lệnh tôi sử dụng trên hệ thống của tôi:

ln -s /usr/local/git/bin/git-credential-osxkeychain /Applications/GitHub.app/Contents/Resources/git/bin/git-credential-osxkeychain

+4

Tôi đã gặp vấn đề tương tự với ứng dụng 'SourceTree' của Atlassian - vấn đề cơ bản là như nhau. Tôi đã có thể giải quyết vấn đề bằng cách chuyển từ git nhúng của 'SourceTree' sang cài đặt được cài đặt toàn cục - điều này đã xảy ra gần đây - bằng cách chọn' SourceTree> Preferences> Git', 'Use System Git'. Cũng lưu ý rằng Github for Mac giờ đây cho phép bạn đi theo hướng ngược lại: bạn có thể chọn để phiên bản git được nhúng của nó hoạt động như phiên bản được cài đặt chung thông qua 'Preferences'. – mklement0

+2

Giải pháp hoạt động tương tự cho SourceTree, chỉ mục tiêu của liên kết trở thành '/ Applications/SourceTree.app/Contents/Resources/git_local/bin' Phiên bản hiện tại của máy khách Mac git bao gồm' git-credential-osxkeychain', vì vậy 1 để trỏ đến tùy chọn 'Sử dụng hệ thống Git'. Đó có lẽ là cách nó "nên" được thực hiện cho người dùng SourceTree. Nếu không, nếu/khi git cập nhật và SourceTree không, 'git-credential-osxkeychain' sẽ có một phiên bản không khớp với phần còn lại của các tệp thực thi git mà SourceTree sẽ sử dụng. –

+0

Điều này cũng xảy ra với SmartGit cho mac. Giải pháp là tương tự đối với smartgit 'ln -s/usr/local/git/bin/git-credential-osxkeychain/Applications/SmartGit.app/Nội dung/Tài nguyên/git/bin/git-credential-osxkeychain' – hitautodestruct

2

này luôn luôn xảy ra với ứng dụng cây nguồn và giải pháp mà bạn thay đổi các thiết lập để sử dụng git hệ thống không phải là git nhúng với source cây vì cây nguồn đang sử dụng phiên bản cũ hơn hoặc bạn có thể cập nhật cài đặt với đường dẫn đến git thực thi và bạn nên tìm nó trong/usr/bin/git hoặc bạn có thể in git và trỏ ứng dụng Tree nguồn của mình để sử dụng nó

0

Đặt

/usr/local/git/bin/git-credential-osxkeychain

trong đường dẫn của bạn cũng hoạt động hoặc bất cứ nơi nào đường dẫn của bạn có thể.

Tôi không chắc chắn nên sử dụng giải pháp nào.

0

Sau khi đã làm việc thông qua điều này với một trong các đồng nghiệp của tôi, chúng tôi đã có thể giải quyết bằng cách cập nhật SourceTree lên phiên bản mới nhất.

Đối với khán giả trong tương lai, trước khi đi xuống con đường liên kết tượng trưng, ​​chắc chắn rằng bạn đã cập nhật tự động kích hoạt cho cây nguồn (sở thích-> Cập nhật tab), và sau đó kiểm tra các bản cập nhật (trong nguồn đơn cây trên Mac)

0

tôi phải làm sudo ln -s /usr/local/git/bin/git-credential-osxkeychain /usr/bin/git-credential-osxkeychain vì tôi nâng cấp git và sau đó sao chép/usr/local/git/bin/git đến/usr/bin/git

0

http://backlogtool.com/git-guide/cn/reference/trouble-shooting.html

HTTPS đòi hỏi mật khẩu mỗi khi bạn thực hiện đẩy/kéo nếu bạn là cửa sổ, chỉ cần lần đầu tiên

nhưng trong Mac, bạn có thể sử dụng trợ lý xác thực được kết nối với chuỗi khóa. Người dùng sử dụng Homebrew sẽ tự động cài đặt các trợ lý xác thực khi cài đặt Git. Ngoài ra, bạn cần cài đặt thủ công.

Nếu bạn muốn xác minh rằng bạn có trợ lý chứng nhận cài đặt, bạn có thể sử dụng lệnh sau để xác nhận.

$ **git credential-osxkeychain**

Nếu trợ lý thẩm định không được cài đặt, các nội dung sau được hiển thị.

git: 'credential-osxkeychain' is not a git command. See 'git --help'.

Tại thời điểm này, bạn có thể tải về trợ xác thực cho con đường đúng đắn.

bước 1. **curl -s -O http://github-media-downloads.s3.amazonaws.com/osx/git-credential-osxkeychain**

bước2. **chmod u+x git-credential-osxkeychain**

bước3. **mv git-credential-osxkeychain /usr/local/bin**

Sau khi cài đặt, hãy đặt trợ lý xác thực mở.

bước4. **git config --global credential.helper osxkeychain**

Các vấn đề liên quan