không thể tìm thấy lệnh git và không thể tìm thấy ssh-agent


81

Tôi đã truy cập GitHub hôm nay và nhận ra rằng tôi đã chậm trễ trong việc cập nhật từ một repo. Tôi đã cố gắng tìm nạp các bản cập nhật, nhưng nó không thành công ngay từ đầu. Tôi nhận được hai thông báo khi khởi động Git Shell (từ GitHub dành cho Windows):

Cảnh báo: không thể tìm thấy lệnh git. Vui lòng tạo bí danh hoặc thêm bí danh vào PATH của bạn.

Cảnh báo: Không thể tìm thấy ssh-agent.

Khi tôi cố gắng nhập "$ git fetch origin", tôi nhận được thông báo lỗi sau:

Thuật ngữ '$' không được công nhận là tên của lệnh ghép ngắn, hàm, tệp tập lệnh hoặc chương trình có thể hoạt động. Kiểm tra chính tả của tên hoặc nếu một đường dẫn được bao gồm, hãy xác minh rằng đường dẫn là chính xác và thử lại.

Tôi cũng đã thử bỏ qua dấu $, nhưng điều đó không thay đổi được gì.

Tôi không biết chuyện gì đang xảy ra, lần cuối cùng tôi sử dụng Shell (đầu tháng này), nó đã không làm được điều này. Tôi đã thử thêm đường dẫn đến git.exe vào biến môi trường PATH, nhưng điều đó không hoạt động - dường như không có gì thay đổi. Tôi đã không khởi động lại máy tính của mình sau khi làm như vậy, đó có phải là vấn đề không? Tôi cũng chưa bao giờ thiết lập Git để sử dụng SSH.


Có vẻ như bạn chưa cài đặt git hoặc nó không có trong đường dẫn của bạn. Bạn đã mở đúng vỏ chưa? Tìm trong đường dẫn của bạn và xác minh xem thư mục git.exe có trong danh sách hay không.
William Seiti Mizuta

Theo "đường dẫn", bạn có nghĩa là biến môi trường PATH? Tôi đã thêm đường dẫn đến git.exe vào đó, không thay đổi. Tôi đã cài đặt Github cho Windows, tôi có ấn tượng rằng nó đã cài đặt mọi thứ tôi cần?
Seabody

Đúng đường dẫn là PATH. Nó thực sự rất lạ. Cố gắng chạy lệnh git --version.
William Seiti Mizuta

Một lần nữa, nó không hoạt động. Tôi cũng gặp lỗi tương tự.
Seabody

Cố gắng cài đặt lại git hoặc sử dụng chương trình git khác. Tôi đã sử dụng msysgit cho windows và tôi thích nó.
William Seiti Mizuta

Câu trả lời:


158

Có vẻ như gần đây bạn đã cập nhật ứng dụng GitHubGit Shell hiện đã bị hỏng.

Phiên bản ngắn

Để sửa chữa nó

  • đóng Git Shell
  • mở GitHub và để nó thực hiện một số cài đặt.
  • Mở lại Git Shell và bạn sẽ được sửa.

Phiên bản dài

Điều này chỉ xảy ra với tôi và chỉ để đảm bảo tôi theo dõi bạn, bạn đã làm điều này

  • Mở Git Shell
  • Bạn được nhắc cập nhật GitHub
  • Sau khi cập nhật, Git Shell sẽ mở ra

Bây giờ nó báo lỗi

không thể tìm thấy lệnh git. Vui lòng tạo bí danh hoặc thêm bí danh vào PATH của bạn.

Cảnh báo: Không thể tìm thấy ssh-agent.

Nếu đúng như vậy, hãy làm điều này

  • Đóng Git Shell
  • Bây giờ hãy mở ứng dụng GitHub (không phải Git Shell ).

Điều này sẽ nói điều gì đó dọc theo dòng của (không chắc chắn về phiên bản chính xác)

GitHub đang giải nén git ..

Hãy để quá trình đó diễn ra và sau khi hoàn tất, hãy mở Git Shell và nó đã được sửa. Ít nhất cũng chỉ làm việc cho tôi.


Cảm ơn bạn, giải pháp tốt đẹp và dễ dàng!
laike9m

1
Mới xảy ra với tôi ngày 12/5/2013, đúng như mô tả trong OP, nên rõ ràng trục trặc này vẫn chưa được khắc phục. Một số người trong chúng ta chủ yếu sử dụng shell và do đó có thể mất một lúc để khám phá ra điều này. Thủ tục của bạn đã khắc phục sự cố.
Carl

Bạn có thể vui lòng giải thích cách tôi có thể cập nhật GIT? Tôi đã không thực sự sử dụng nó - nó có tự cập nhật không? Creepy ...
Tomáš Zato - Phục hồi Monica.

Tuyệt vời. Chỉ cần mở GitHub và nhận được thông báo GitHub đang giải nén git .. Sau đó mở git shell, vấn đề đã được giải quyết.
manu

1
Chỉ cần xác nhận rằng đây vẫn là một bản sửa lỗi khả thi cho ngày 17 tháng 8 năm 2016. Vấn đề là với phiên bản quyền hạn của posh git.
Polyducks

10

Nếu bạn không muốn phải cài đặt lại GitHub hoặc GitShell hoặc nếu bạn thậm chí không sử dụng dịch vụ đó thì bạn có thể tự khắc phục sự cố.

Về cơ bản, bạn chỉ cần thêm đường dẫn thư mục của git.exe vào biến môi trường PATH của bạn trong Windows.

Đối với tôi, tôi phải thêm đường dẫn "C: \ Program Files (x86) \ Git \ bin." Hoặc tất nhiên bạn có thể đã cài đặt Git trong một thư mục khác, vì vậy bạn sẽ cần phải tìm ra nơi bạn đặt nó.

Bạn có thể tìm thấy hướng dẫn để thực hiện tất cả những điều này tại đây: http://thepracticalsysadmin.com/setting-up-git-in-windows/


7

Hệ thống> Cài đặt hệ thống nâng cao> Tab nâng cao> Biến môi trường (Ở dưới cùng).

Trong Biến hệ thống (Nửa hộp dưới cùng, cuộn đến Pathphần và chỉnh sửa. Giả sử cài đặt git của bạn là vị trí mặc định, hãy thêm phần bên dưới vào cuối đường dẫn hiện tại:

;C:\Program Files (x86)\Git\cmd;

Làm xong.


6

Tôi đã giải quyết vấn đề của mình bằng cách mở ứng dụng đích Github, nhấp vào cài đặt -> tùy chọn Lựa chọn trình bao mặc định của tôi là PowerShell (nó ngừng hoạt động đột ngột) Tôi đã chọn Git Bash đã lưu nó, sau đó mở cài đặt-> tùy chọn và chọn lại PowerShell. Tiếp theo, tôi mở lại GitShell và có! nó bắt đầu hoạt động trở lại


Điều này đã hoạt động nhưng chỉ sau khi tôi thực hiện 'cài đặt' -> 'mở trong git shell' trước. Và chỉ sau đó tôi mới làm cho điều này hoạt động từ phím tắt 'git shell' của menu bắt đầu.
Luciano

5

TLDR;

Thêm một %path%biến người dùng với%localappdata%\GitHub\PORTAB~1\bin

Phiên bản dài:

Tôi không thể nhận được câu trả lời của Kirk để làm việc với Github tự sửa chữa.

Tệp bạn đang tìm kiếm là git.exe và GUI của Windows GitHub tự cài đặt vào thư mục ứng dụng người dùng cục bộ của bạn, điều này làm cho việc tìm kiếm khá khó khăn, ví dụ như của tôi là C:\Users\andy_000\AppData\Local\GitHub\PortableGit_ed44d00daa128db527396557813e7b68709ed0e2\bin\git.exe

Thư mục này cần phải nằm trong đường dẫn môi trường windows của bạn git.exeđể được tìm thấy chỉ bằng cách gõ gitvào cửa sổ lệnh.

Giải pháp tốt nhất mà tôi đã tìm thấy là mở các biến môi trường hệ thống của bạn (Hệ thống -> Nâng cao -> Biến môi trường), sau đó chỉ cần thêm một biến người dùng mới (hộp trên cùng, không phải dưới cùng, là biến hệ thống) được gọi Pathvà đặt giá trị của nó đến %localappdata%\GitHub\PORTAB~1\bin.

Điều này có nghĩa là %path%biến hệ thống có đường dẫn hồ sơ người dùng đầy đủ đến thư mục github bin giống như trong ví dụ.

Các nỗ lực nối thêm %appdata%%userprofile%tham chiếu trực tiếp đến hệ thống %path%không hoạt động vì các biến này không khả dụng khi các biến hệ thống được đặt, do đó, giải pháp ở trên đặt một %path%biến người dùng , biến này cho phép các lệnh gọi đến %localappdata%, v.v. và tự động được thêm vào hệ thống %path%, cho hiệu quả như mong muốn.


4

Làm theo các bước đơn giản:

  1. Mở gitshellbản cập nhật và sau đó đóng nó.
  2. Mở githubkhông phải gitshellnó sẽ tự động giải nén các tệp (có nghĩa là cũng cập nhật nó).
  3. Một lần nữa mở gitshell.

bạn sẽ thấy lỗi sẽ kết thúc. Hy vọng điều này cũng sẽ giúp bạn.


2

Tôi gặp sự cố này trên Windows7 với chương trình github mới nhất được cài đặt. Tôi thậm chí đã vô hiệu hóa tất cả các chức năng chống vi-rút của mình :)

Giải pháp của tôi là mở chương trình dưới dạng quản trị viênpowershell ise (từ menu) và chạy lệnh này:

Set-ExecutionPolicy Unrestricted

Bạn sẽ nhận được hộp thoại với câu hỏi, tôi đã nhấp vào có. Sau đó, tôi đóng tất cả các cửa sổ và chạy lại github shell mà không gặp bất kỳ sự cố nào.


0

Giải pháp dễ dàng của tôi (dành cho người dùng GitHub trên máy tính để bàn ):

  1. Tạo một tệp hàng loạt git.bat:

@echo tắt

% LocalAppData% \ GitHub \ Portab ~ 1 \ cmd \ git.exe% *

  1. Di chuyển nó vào C:\Windows\thư mục ..

Đó là nó!! Bạn đã hoàn tất!!

Lưu ý: Bạn cũng có thể sử dụng git.batthay vì sử dụng git.exetrực tiếp .. Nó sẽ hữu ích cho các phần mềm yêu cầu bạn trỏ tệp thực thi git một cách rõ ràng (như Android Studio )


-1

Một tùy chọn khác là thay đổi trình bao mặc định của bạn.

Đi tới Công cụ -> Tùy chọn và thay đổi trình bao mặc định của bạn từ "PowerShell" thành "Git Bash" hoặc thứ gì đó khác.


1
Điều này thực sự hoạt động. Đối với tôi, tôi đã thay đổi từ PowerShell sang Git Bash và sau đó đổi lại thành PowerShell.
slacker
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.