【发布时间】:2013-07-17 06:18:00
【问题描述】:
从几天前开始,我正在使用新服务器(使用 chroot 用户从旧服务器移到新服务器) 从旧服务器我已将文件夹 .git 复制到新服务器。
问题是当我输入“git pull”时出现错误:
致命的:呃哦。您的系统根本没有报告任何 Git 命令。
任何其他命令,如 git fetch 或 git merge 都可以正常工作。
git pull 命令不能用是什么原因?
【问题讨论】:
从几天前开始,我正在使用新服务器(使用 chroot 用户从旧服务器移到新服务器) 从旧服务器我已将文件夹 .git 复制到新服务器。
问题是当我输入“git pull”时出现错误:
致命的:呃哦。您的系统根本没有报告任何 Git 命令。
任何其他命令,如 git fetch 或 git merge 都可以正常工作。
git pull 命令不能用是什么原因?
【问题讨论】:
检查以确保您已安装二进制文件并在您的 $PATH 中。
在二进制目录中查找名为 git-pull 的二进制文件(例如 /usr/bin、/usr/local/bin 等)。
如果您注意到文件存在,请确保文件位于 $PATH 中的目录中(只需检查 echo $PATH 并查看该目录是否存在于该列表中(以冒号分隔)。
如果目录名称不在$PATH 中的目录列表中,您需要在启动 shell 脚本中或在每个新终端会话开始时将该目录添加到默认的$PATH,使用这些二进制文件所在的目录更新值:export PATH=$PATH:YOUR_DIRECTORY。
【讨论】:
/usr/lib/courier-imap/sbin:/usr/lib/courier-imap/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin 。 git 位于并存在于 /usr/bin/
git 使用的不仅仅是普通的 ssh,但需要在“服务器端”(您从中提取的一侧)安装 git。您的 changeroot 似乎缺少这些。添加它们,一切都会正常。
【讨论】:
对我来说,它试图在我的 cygwin 安装文件夹中使用 /bin/git。此外,当我将实际的 GIT 路径添加到我的 PATH 中时,我最后做到了。 cygwin 路径是在实际 PATH 之前加载的,因此会出现问题。
如果你执行“which git”,它应该会告诉你你的 git 在哪里。
快速修复:将实际 GIT PATH 从末尾(在 env var PATH 列表中)移动到开头。
【讨论】: