82

我今天在 GitHub 上,意识到我落后于回购的更新。我试图获取更新,但它从一开始就失败了。当我启动 Git Shell(来自 GitHub for Windows)时,我收到了两条消息:

警告:找不到 git 命令。请创建一个别名或将其添加到您的 PATH。

警告:找不到 ssh-agent。

当我尝试输入“$ git fetch origin”时,我收到以下错误消息:

术语“$”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。

我也尝试省略 $ 符号,但这并没有改变任何东西。

我不知道发生了什么,我最后一次使用Shell(本月初),它没有这样做。我尝试将 git.exe 的路径添加到 PATH 环境变量中,但这没有用 - 似乎没有任何改变。我这样做后没有重新启动计算机,是这个问题吗?我也从未将 Git 设置为使用 SSH。

4

9 回答 9

158

听起来您最近更新了GitHub应用程序,而Git Shell现在已损坏。

简洁版本

要解决这个问题

  • 关闭Git 外壳
  • 打开GitHub并让它进行一些后期安装。
  • 再次打开Git Shell,你应该得到修复。

长版

这只是发生在我身上,只是为了确保我跟随你,你只是这样做了

  • 打开Git 外壳
  • 系统会提示您更新GitHub
  • 更新后,Git Shell打开

现在它给出了错误

找不到 git 命令。请创建一个别名或将其添加到您的 PATH。

警告:找不到 ssh-agent。

如果是这种情况,请执行此操作

  • 关闭Git 外壳
  • 现在打开GitHub应用程序(不是Git Shell)。

这将说明(不确定确切版本)

GitHub 正在提取 git..

让它完成整个过程,完成后,打开Git Shell并修复它。至少对我有用。

于 2013-07-25T03:46:57.647 回答
10

如果您不想重新安装 GitHub 或 GitShell,或者您甚至没有使用该服务,那么您可以自己修复它。

基本上你只需要将 git.exe 的目录路径添加到 Windows 中的 PATH 环境变量中。

对我来说,我必须添加路径“C:\Program Files (x86)\Git\bin”。或者当然你可能已经将 Git 安装在不同的目录中,所以你需要找出你把它放在哪里。

可以在此处找到执行所有这些操作的说明:http: //thepracticalsysadmin.com/setting-up-git-in-windows/

于 2014-03-06T17:52:33.463 回答
7

系统 > 高级系统设置 > 高级选项卡 > 环境变量(在底部)。

在系统变量(下半框,滚动到该Path部分并编辑。假设您的 git install 是默认位置,将以下内容添加到当前路径的末尾:

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

完毕。

于 2015-03-06T14:53:02.510 回答
6

我通过打开 Github destop 应用程序解决了我的问题,单击设置->选项我的默认 shell 选择是 PowerShell(它突然停止工作)我选择 Git Bash 保存它,然后打开设置->选项并再次选择 PowerShell。接下来我再次打开 GitShell,是的!它又开始工作了

于 2016-09-26T13:08:38.110 回答
5

TLDR;

添加一个用户%path%变量%localappdata%\GitHub\PORTAB~1\bin

长版:

我无法得到 Kirk 的回答来解决 Github 自身的问题。

您要查找的文件是 git.exe 并且 Windows GitHub GUI 会自行安装到您的本地用户应用程序目录中,这使得很难找到例如我的C:\Users\andy_000\AppData\Local\GitHub\PortableGit_ed44d00daa128db527396557813e7b68709ed0e2\bin\git.exe

该目录需要位于您的 Windows 环境路径中,以便git.exe仅通过git在命令窗口中键入即可找到。

我发现的最佳解决方案是打开您的系统环境变量(系统-> 高级-> 环境变量),然后只需添加一个新的用户变量(顶部框,而不是底部,这是系统变量)Path并设置其值到%localappdata%\GitHub\PORTAB~1\bin.

这将意味着系统%path%变量具有 github bin 目录的完整用户配置文件路径,就像在示例中一样。

尝试直接附加%appdata%%userprofile%引用系统%path%不起作用,因为在设置系统变量时这些变量不可用,因此上面的解决方案设置了一个用户%path%变量,它允许调用%localappdata%etc,并且自动附加到系统%path%,给出想要的效果。

于 2014-10-28T11:52:36.867 回答
4

遵循简单的步骤:

  1. 打开gitshell更新它然后关闭它。
  2. 打开它githubgitshell自动提取文件(意味着也更新它)。
  3. 再次打开gitshell.

您将看到错误将完成。希望这对你也有帮助。

于 2014-12-03T16:06:32.110 回答
2

我在安装了最新的 github 程序的 Windows7 上遇到了这个问题。我什至禁用了我的防病毒软件的所有功能:)

我的解决方案是以管理员程序powershell ise(从菜单)打开并运行以下命令:

Set-ExecutionPolicy Unrestricted

你会得到有问题的对话,我点击是。然后我关闭了所有窗口并重新运行了 github shell,没有任何问题。

于 2013-07-12T20:00:40.903 回答
0

我的简单解决方案(适用于GitHub 桌面用户):

  1. 创建一个批处理文件git.bat

@echo 关闭

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

  1. 移到C:\Windows\文件夹..

就是这样!!你完成了!!

注意:您也可以使用git.bat而不是git.exe直接使用。这对于需要您明确指向 git 可执行文件的软件(如Android Studio)很有用

于 2017-03-17T15:23:16.933 回答
-1

另一种选择是更改您的默认外壳。

转到工具 -> 选项,然后将默认 shell 从“PowerShell”更改为“Git Bash”或其他内容。

于 2013-05-28T15:41:56.833 回答