【问题标题】:Why is git hanging - have to press enter twice after commands?为什么 git 挂起 - 必须在命令后按两次 enter?
【发布时间】:2012-09-23 21:10:48
【问题描述】:

编辑:摘要:在 Git 中输入的每个命令都会产生一个悬挂光标,如果在按下 Enter 之前输入了任何内容,则会显示“错误输入”。没有命令产生任何结果。我尝试了全新安装,但没有任何结果。

我是完全 Git 新手。不知道我在做什么。 (我在 Mac 上)

我按照网站上的基本说明进行操作:

touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:aerovistae/MetPetDB-Mobile.git
git push -u origin master

但只要我输入“git init”,终端就会挂起。我按回车,没有任何反应,提示没有开始新行......它只是开始一个没有闪烁光标的空白行。我第二次按回车,提示符返回,在终端中跳过了一行,现在等待我的下一个命令。

我真的不明白这里发生了什么,我不确定是否有问题。

编辑:

Git 是从主下载页面安装的。

http://git-scm.com/downloads

在git init 上按回车键后,我在一个空白的新行上看到闪烁的光标,过了一会儿,我犹豫地输入了Testing 并再次按回车键。然后它在下一行吐出bad input: Testing 并向我显示了一个新提示。

我尝试重新安装,但无济于事。我尝试了其他 git 命令,例如 git config --global user.name "Meeeee" 但这没关系。它们都产生相同的悬挂。

【问题讨论】:

  • 这听起来大错特错。你应该检查你的 git 安装。
  • 理想情况下,您应该看到像Initialized empty Git repository in /Users/vlazarenko/a/.git/ 这样的行。如果您输入ls -a,您会看到.git 目录吗?
  • 你试过在另一个目录中运行 git init 吗?
  • 查看 git 源代码,"bad input:" 恰好出现了两次,都在名为 read_credential 的函数中。仅当从 stdin 读取的行 not 包含 = 字符时,它才会打印在错误消息中。但这只有在您运行 git credential-wincred 或 git credential-osxkeychain 时才会发生。你在什么操作系统上? ... 没关系,我看到你在 MacOS 上——所以 something 可能正在调用 git credential-osxkeychain。也许其他人可以用这个来解决问题。
  • @Aerovistae:但在git-credential-osxkeychain.c 和Makefile 之外没有对credential-osxkeychain 的引用,因此不应隐式调用它。你能确认准确错误信息(复制粘贴)吗?

标签: git github terminal


【解决方案1】:

考虑到您在 OS X 上,并且在 Keith Thompson 的 comment 之后,有可能

您已将 git 别名为其他名称(可能是 alias git="git credential-osxkeychain"),您应该查看 ~.profile 以查看是否可以删除别名。

  • 或者您安装了多个 git:

您似乎在错误的位置安装了 git-credential-osxkeychain 包装器(您是否将 cp 安装到 /usr/bin/git 而不是 /usr/local/git/bin?)
要修复,您只需删除/usr/bin/git;假设 git 仍然安装在 /usr/local/bin 中,它应该接管。

它实际上已安装到/usr/local/git/bin,所以我只是将它添加到我的PATH。

【讨论】:

  • 四年后回来看这个太奇怪了,现在我是一个熟练的 git 用户。当您对命令行和版本控制的概念不熟悉时,Git 已经够糟糕了;作为第一次体验,这个错误真的很糟糕。让你感到真的迷失了,就像你甚至没有打开程序就已经破坏了一些东西。
【解决方案2】:

嗯,也许你在一个不可写的目录中?

通常你可以创建一个目录。

mkdir test
cd test
git init

然后您在测试文件夹中初始化一个空的 GIT 存储库,您应该会看到一个名为 ".git" 的文件夹,它是隐藏的。也许您可以尝试构建一个裸存储库。

git --bare init

但是你的问题听起来有点奇怪。你以所有权限运行你的命令吗?

【讨论】:

  • 我只是在桌面上弄了一个文件夹,当时我正在乱搞和测试,但放在哪里都没关系。我认为安装已损坏。不知何故。
  • 嗯,也许您应该以管理员身份打开一个终端并在您的控制台上进行测试。
  • 尝试 sudo...仍然挂起,没有结果。
  • sudo 应该没关系。一点也不。如果你可以在那里创建一个文件,那么 git 也会成功。
  • 也许你应该尝试从端口重新安装你的 git-core 包或尝试或尝试这里的新包:git-scm.com/downloads
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多