问题标签 [vim-fugitive]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
265 浏览

git - Neovim 插件 Fugitive 没有使用 ssh 密钥代理,所以我不能 Gpush/Git 推送

我在 Windows 上使用 Neovim,以及 vim-fugitive 插件。该插件有一个推送提交的命令,Gpush。我收到一条错误消息,提示“权限被拒绝(公钥)致命:无法从远程存储库中读取。我正在使用 ssh 密钥,在控制台中一切正常,但在插件中却没有。我找不到其他有同样问题的人在线的。

0 投票
1 回答
144 浏览

git - Git报告合并冲突,但大块头是相同的

我正在尝试通过实时项目学习 Fugitive,特别是解决合并冲突,因为我发现手动执行此操作非常乏味。我不知道这是否是一个有效的问题,因为我无法在我正在使用的 repo 之外重现效果,而且我以前从未见过它。

无论如何,Git 正在报告合并冲突。但是,当我去编辑包含冲突的文件时,我滚动到 Git 添加的用于标记冲突的注释(顺便说一下,这些注释是什么?)它们是相同的。像这样的东西:

它们完全相同。一个或另一个中没有异常的空白,没有看起来相同的奇怪 Unicode 字符,等等。字节对字节相同。因此,Fugitive/vimdiff 不起作用:它检测到的唯一区别是那些带内注释,因此执行:diffget:diffpull只是删除注释。因为注释被适当地分开,它们被分开处理,所以必须单独做每一个,你最终会得到这个明显不正确的结果:

起初我以为注释被意外提交到其中一个分支中——这是我能想到的唯一解释——但是不,它们无处可见。每个分支中的文件并不完全相同,但它们没有冲突的差异。

很明显,Git (2.28.0) 错误地标记了冲突,而 Vim/Fugitive 工作正常。这里出了什么问题?

0 投票
1 回答
52 浏览

vim - 用fugitive浏览git树时,去父目录的快捷方式是什么?

我在特定的 git 提交中使用逃犯浏览存储库状态,我只能进入该目录,但我不知道如何返回到父目录。我最终再次查找此提交并从顶部开始浏览。

树中的目录视图

用fugitive浏览git树时,去父目录的快捷方式是什么?

0 投票
1 回答
186 浏览

vim - “未知功能:37_repo_dir" 在 vi​​m 中打开新文件时

我最近更新了 oh-my-zsh、vim 并运行 rcup 来更新 dotfiles 和 vim 插件。

在 vim 中打开新文件时出现错误,其中部分包含:

这似乎与fugitive我已安装的插件有关,因为它上面提到了错误。

0 投票
2 回答
732 浏览

vim - 如何将 vim-fugitive 与 git 裸存储库一起使用?

环境

设置

我使用git 裸存储库来对我的配置文件进行版本控制。我可以使用与使用普通git存储库相同的命令,只需包含一些标志

代替

用法

我将vim-fugitive与普通git存储库一起使用,主要是为了进行重大更改,并通过部分暂存(仅一组离散的大块/更改)并将它们单独提交来将其添加到许多不同的提交中。我将:Gdiff其用于我可以使用的漂亮且高效的界面。

欲望

我想用我的 config git 裸存储库来做到这一点。

我尝试了什么:

  1. 将存储库重命名为.cfg.git. 这并没有带来任何改变。表明这应该有效的问题

  2. 我试图改变git-fugitiveb:git_dir的内部变量:

  1. 将工作目录更改为 git 目录,以便逃犯识别它是一个 git repo:

如果我知道怎么做,什么值得尝试:

  1. 我认为可能有一种方法可以使用该git submodule命令将裸仓库放入范围。问题在于将git 存储库的放在哪里......我基于这种可能性的问题

问题

有没有办法将git 裸存储库与git-fugitive一起使用?

(或任何其他可以解决我的用例的建议)

0 投票
2 回答
59 浏览

git - 如何在终端中使用 git 或在 Vim 中使用 Fugitive 列出我的所有 Github 存储库,公共和私有?

我的 Github 帐户上有一些存储库,我正在尝试将所有这些存储库(私有和公共)的名称列表通过管道传输到一些脚本以自动执行一些任务。

我做了什么-

  • 阅读大量关于此的 QnA,但大多数答案都围绕着git remote或我发现与问题无关的类似命令。我仍然检查了它的例子来确定这一点。很少有人回答如何列出本地存储的存储库,但这意味着克隆它们中的每一个。我相信这两个不会使这是一个重复的问题。
  • 浏览了 git 文档,但似乎没有任何内容允许此操作
  • 考虑克隆整个帐户(大约 7gb ..)请不要让我这样做

有任何想法吗?

0 投票
2 回答
43 浏览

git - 在不重新创建提交的情况下调整先前的提交

我曾经使用gitx来暂存更改以进行提交,但我已经切换到纯粹的终端工作流程 + Fugitive.vim。我真正怀念 gitx 的一个特性是能够在之前的提交中进行调整。例如,如果在之前的提交中添加了某个部分,但不应该添加,那么 gitx 可以很容易地拉出该部分并修改之前的提交。

我目前进行此类更改的工作流程是:

  1. git show
  2. 复制提交信息
  3. git reset --soft HEAD^
  4. 使用 Fugitive 或git add -i做任何我想做的改变
  5. git commit
  6. 粘贴之前复制的提交信息
  7. 确认

以前方便的两步过程现在变得非常麻烦。还有其他我想念的方法吗?

git commit --amend -CHEAD --interactive对我来说似乎很有希望,但它似乎根本不起作用。

0 投票
1 回答
423 浏览

git - 在 vim-fugitive 中显示由提交更改的文件的交互式列表

在处理提交时,我经常使用逃犯状态窗口。这是查看我所做更改的一种简单且交互式的方式,我可以打开我进行更改的任何文件,例如对它们进行比较。但是,在我提交之后,我找不到同样好的方法来浏览在特定提交或提交间隔更改的文件。理想情况下,我想要的是逃犯状态窗口之类的东西,但最重要的功能是文件列表,我可以在其中单击文件并将其打开。

我尝试过的事情

  • 打开提交对象。这有两个问题:
    1. 它显示了文件之间的差异,因此导航到要打开的文件需要一段时间。
    2. 如果我单击一个文件,它会在当前窗口中打开,所以在文件之间快速跳转是行不通的。
  • Gclog --name-only获取我的文件列表,但它不是交互式的。
0 投票
1 回答
54 浏览

neovim - Neovim Fugitive Merginal:打开时出错

刚刚为 Neovim 安装了Merginal(它是Fugitive的一个插件),并且在切换缓冲区(:Merginal)时出现此错误:

在此处输入图像描述

我的 git 设置正确,并且能够使用 Fugitive 的所有其他功能。有人遇到过这个吗?

谢谢,

0 投票
2 回答
66 浏览

git - 在 Neovim 中检索 git_main_branch

所以我最近对 ​​Neovim/Spacevim 非常熟悉,这真是太棒了!

我正在设置一些个人键绑定和命令以及你有什么,目前正在研究 Git 的东西。

来自使用 VSCode 和 iTerm2,当想要从任何分支切换到主分支或master分支时,我有一个别名,如下所示:main

我可以gcom在终端输入,它会自动切换到分支。不幸的是,在 Neovim 中,git_main_branch这不是一回事,所以我试图找出一个等价物,我可以在其中执行类似输入:GcomNeovim 命令提示符的操作,然后切换到主分支。

init.vim我试图在我的文件中设置这样的功能(我已经coc安装了所有相应的 Git 插件,包括fugitive):

然后设置一个命令

但这并不能解决问题。有谁知道我如何用 Neovim 完成这个任务?谢谢!