git - 如何在 git bash vim 编辑器本身上打开特定文件以在错误消息“e325-attention-swap-file-already-present-error-in-vi”时编辑内容
问题描述
问题场景:当我尝试执行 git 提交时遇到错误消息“e325-attention-swap-file-already-present-error-in-vi”。
Qn:“我如何在 git bash vim 编辑器本身上打开该特定文件以查看冲突发生的确切内容?我不是在问如何从暂存区域中删除文件,而是特别要求在 git bash 的 vim 编辑器本身上打开该文件?如果可以的话,一旦完成,我如何将该文件保存在 git bash 中的 vim 编辑器本身并退出 vim 中的恼人模式。PS:任何善良的灵魂可以给我一个有用的“f1 / -help”类型的命令,当我卡在vim编辑器模式时,我可以用它来检查前进,而不是每次遇到这种问题时都完全退出编辑器?谢谢!
解决方案
- 交换文件很可能来自
.git/COMMIT_MESSAGE
文件(我相信我的名字是对的)。它在 vim 崩溃或异常退出时存在,以帮助数据恢复。在你的情况下,我建议删除它(rm .git/.COMMIT_MESSAGE.sw?
-find it withls -a .git
or tab-complete)。然后提交。 - 请参阅此问题以退出 vim。长话短说,我Esc在完成提交信息后点击,然后点击Z Z保存并退出。
- QA 还提到
:help
——这是阅读 vim 的最佳地点。:help
通常可以是制表符完成的(您可能需要Ctrl- d)。如果您打算使用 vim,我强烈建议您浏览一些帮助页面。vimtutor
或者,将您的变量EDITOR
和环境变量设置为其他变量(对于那些不想学习命令行编辑器 la vim 或 emacs 的人,VISUAL
我见过很多)。nano
另请注意vi.stackexchange存在。
注意:一般建议是不要删除交换文件。通常你想从他们那里恢复信息,或者看看是否有可恢复的信息。互联网和帮助页面有关于这样做的详细信息。但是,对于提交消息和 OP,最简单的做法是从头开始(因为一旦 OP 无法弄清楚要做什么,交换文件可能是通过破坏 vim 实例创建的)。
推荐阅读
- java - 如何检查 server.xml 中的 tomcat 数据源连接池
- ios - Flutter Dart App RangeError 仅在特定设备上(不是模拟器)
- node.js - Docker 云自动构建几乎立即失败
- javascript - 将一个字符串连接到一个承诺
- tfs-2015 - TFS 2015 构建错误
- android - 是否可以使用 Espresso 来测试带有 AndroidForWork 工作配置文件的应用程序
- php - Laravel artisan route:cache throw error Constant XXX already defined
- sql - 水平选择每组的第一条和最后一条记录
- c++ - 将张量的“下对角线”映射到矩阵,作为将矩阵的下三角部分提取为向量的概括
- nestjs - 如何将服务注入到导入的服务 Nestjs