git commit 命令无限期挂起

2024-04-09

当我尝试使用进行提交时git commit,Sublime Text 编辑器确实打开了,我编写了提交消息并保存并关闭了编辑器,但更改并未提交。终端挂在git commit.

我在网上搜索,发现有人有同样的问题,并且不假思索地应用了相同的修复程序。我运行了命令:

git config --global core.editor "mate -w" 

现在我运行时遇到了新错误git commit:

伴侣-w:1:伴侣-w:伴侣:未找到 错误:编辑器“mate -w”有问题。 请使用 -m 或 -F 选项提供消息。

请帮忙。我对 git 和 Ubuntu 14.04 非常陌生。


Git 运行一个lot外部位作为提交的一部分。虽然 Git 本身不太可能挂起,但它调用的任何外部部分都可能挂起,因此按照执行顺序:

  1. The pre-commit钩。这是一个脚本,位于$REPO_ROOT/.git/hooks/pre-commit (it is not the .sample文件!它必须有一个名字,准确且唯一,pre-commit.) 检查脚本的内容以查看它是否可能挂起。
  2. The prepare-commit-msg钩。它就在旁边pre-commit钩子,名称如您所料。一样。
  3. If you didn't pass -m, then your editor starts so you can input the message. Make sure that
    • 该窗口没有以某种方式隐藏(屏幕外、最小化、在其他窗口后面)
    • 编辑器本身并没有挂起
  4. The commit-msg钩。与其他挂钩相同。
  5. Commit signing. This step only runs if you specify -S with git commit, or if you have commit.gpgsign = true. You can check the latter with git config commit.gpgsign. This also depends on your GPG agent. Check:
    • 如果您的代理使用 GUI 来获取您的密码,则该窗口不会像编辑器一样隐藏。
    • 代理本身并没有挂起。我的问题有几个,curses https://en.wikipedia.org/wiki/Curses_(programming_library)基一、悬。
    • 你随时可以杀死你的 GPG 特工。它所做的只是简单地保存您的密码,因此您无需每次都输入它。当你git commit再次,一切都会重新开始;这可能对你的绞刑有帮助,也可能没有帮助。
  6. The post-commit hook.

请注意,我已经only解决了手动创建提交的问题。merge也会创建提交,并且它遵循大致相同的顺序,一些不同的钩子 https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks.

此外,如果您的存储库特别大,Git 本身可能需要一段时间——每次提交本质上都是给定时间其中所有文件的快照。如果你明智地使用.gitignores https://git-scm.com/docs/gitignore忽略诸如构建的可执行文件之类的事情just跟踪 Git 存储库中的源代码,它会很有帮助。请注意,这会破坏某些编辑器:Visual Studio(原始版本,而不是 VS Code)在此类问题上尤其存在一些问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

git commit 命令无限期挂起 的相关文章

  • 有谁知道类似于 SVN Time-Lapse View 的 Git 工具 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 SVN Time Lapse View 是一个跨平台查看器 可以下载文件的所有修订版本 并允许您通过拖
  • 为什么我无法创建/签出该分支?

    我正在尝试创建本地 Git 分支 但它不起作用 以下是我正在使用的命令 tablet edit11 git checkout b edit 11 Switched to a new branch edit 11 tablet edit11
  • 丢失了我在 GIT 中的提交。你会不小心删除提交吗?

    我正在使用 git gui 但看不到我的分支 我知道我今天检查了一些东西 在完成提交并使用分支查看器验证后 我更改为较早的分支 我对之前的分支进行了更改 然后想返回到当前的分支 但我再也看不到它了 任何帮助都会很棒 回答你的问题 在大多数情
  • git 别名中的 AWK 语句

    我正在尝试创建一个 git 别名来以特定格式打印日志中的所有拉取请求 但是 我在使用 AWK 删除双空格时遇到问题 这是使用以下命令的 git log 的输出 git log merges grep pull request pretty
  • Git - 创建拉取请求而不分叉

    使用 git 已经有一段时间了 关于 git pull request 有很多教程和解释 其动机是什么等等 我遇到两种情况 1 分叉 git 仓库 我查看了一些公共 git 存储库并决定我想要做出贡献 所以我 通过以下方式创建重复的存储库F
  • Ansible bitbucket 克隆存储库配置 ssh 错误

    我之前发布过这个问题 但那里的答案不再有效 总之 当使用 Ansible 配置我的 vagrant box 时 在尝试使用 ssh 克隆我的 bitbucket 私有存储库时 我遇到了一个神秘的错误 该错误指出 权限被拒绝 公钥 然而 如果
  • 无法从 Sourcetree 拉取 Git 远程存储库

    我生成了 ssh 密钥并配置了我的 git 和 SourceTree 我可以 git pull 并从 Git bash 执行其他操作 注意 我在 bashrc 中添加了以下内容以使其正常工作 eval ssh agent ssh add 然
  • 如何在 macOS 上将 Git 升级到最新版本?

    我刚刚购买了一台装有 OS X Lion 的新 Mac 我在终端中检查了默认安装的 git 版本 我得到了答案 git version gt git version 1 7 5 4 我想将 git 升级到最新版本 1 7 8 3 因此我下载
  • Git 将一个分支合并到所有其他分支中

    我知道这个问题已经在这里被问过 https stackoverflow com questions 2329716 merging changes from master into all branches using git https
  • 当当前分支上有未提交的更改时签出另一个分支

    大多数时候 当我尝试签出另一个现有分支时 如果我在当前分支上有一些未提交的更改 Git 会不允许我这样做 所以我必须首先提交或隐藏这些更改 然而 有时 Git 确实允许我在不提交或存储这些更改的情况下签出另一个分支 并且它会将这些更改携带到
  • 带有 git Remote 的 Gem 文件在 Heroku 推送上失败

    我的 gemfile 中有以下行 gem client side validations git gt email protected cdn cgi l email protection Dakuan client side valida
  • Git 到 TFS 源代码管理迁移

    我想看看 TFS 如何为我的命令工作 所以我想将我们当前的 GIT 存储库移动到 TFS 数据库 我们使用 GIT 来获得普遍的分支支持 因此我想使用 TFS 2010 来解决该问题 现在的问题是 如何将 GIT 存储库导出到 TFS 显然
  • 如何让 Aptana Studio 记住 git ssh 密码

    我找不到任何有关如何获得 Aptana Studio 的内置 git 支持来记住执行推 拉操作的 ssh 密码的指南 信息 有人有什么想法吗 Aptana Studio 实际上是内置的 GIT 程序 它将在 Windows 上的 C Use
  • 使当前提交成为 Git 存储库中唯一(初始)提交?

    我目前有一个本地 Git 存储库 我将其推送到 Github 存储库 本地存储库有约 10 次提交 Github 存储库是其同步副本 我想要做的是从本地 Git 存储库中删除所有版本历史记录 以便存储库的当前内容显示为唯一提交 因此存储库中
  • `git push` -- 没有输出,什么也没有发生

    touch test git add test git commit m test git push u origin master 这奏效了 该文件已上传到存储库 rm test cp R website website git rm t
  • Git:从 master 以外的分支克隆

    我正在尝试从 Github 的存储库中提取数据 但我不想克隆主分支 我想克隆其他一些分支 当我尝试时git clone
  • 使用 gitignore 嵌套存储库。

    我想嵌套 2 个 git 存储库 我一直在阅读子模块 有一段时间我认为它很棒 我想我可能想要其他东西 这是我的情况 首先 我想我应该提到我的所有服务器都托管网站 并以 staging domain com 和 domain com 实时 模
  • Eclipse Git 关键字扩展

    每次我检查 git hub 服务器的源代码时 我都需要更新源代码修订关键字 version date 等 你可能知道 Git 中的主要问题是你无法使用以下命令修改文件 提交后有关提交的信息 因为 Git 首先对文件进行校验 基本上我想要实现
  • Phonegap使用命令行工具添加插件

    我是phonegap的新手 我按照phonegap官方网站中定义的步骤使用命令行工具创建项目 nodejs 我成功创建项目并添加平台 但是 当我尝试添加插件时出现以下错误 命令 cordova plugin add https git wi
  • 是否可以检测 http git 远程是智能还是愚蠢?

    我正在我的应用程序中实现一个选项来使用 depth 1制作 git repo 的最小功能克隆 我刚刚意识到愚蠢的 http 传输不支持 depth 我想自动检测 http 远程是愚蠢的还是聪明的 这样我就可以省略 depth与哑 http

随机推荐