当我尝试使用进行提交时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 本身不太可能挂起,但它调用的任何外部部分都可能挂起,因此按照执行顺序:
- The
pre-commit
钩。这是一个脚本,位于$REPO_ROOT/.git/hooks/pre-commit
(it is not the .sample
文件!它必须有一个名字,准确且唯一,pre-commit
.) 检查脚本的内容以查看它是否可能挂起。
- The
prepare-commit-msg
钩。它就在旁边pre-commit
钩子,名称如您所料。一样。
- If you didn't pass
-m
, then your editor starts so you can input the message. Make sure that
- 该窗口没有以某种方式隐藏(屏幕外、最小化、在其他窗口后面)
- 编辑器本身并没有挂起
- The
commit-msg
钩。与其他挂钩相同。
- 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
再次,一切都会重新开始;这可能对你的绞刑有帮助,也可能没有帮助。
- 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(使用前将#替换为@)