问题标签 [magit]

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 投票
3 回答
1656 浏览

git - 直接从 Emacs 创建拉取请求

我厌恶任何普通开发人员应该做的手动、乏味和重复性的任务。最近我意识到——在大量 git repos 上创建拉取请求占用了我太多的时间。大多数时候,您必须一遍又一遍地遵循几乎完全相同的步骤:

  • 登录 git 提供者的网络客户端 - 我们使用 Stash
  • 单击,单击,单击,直到找到“创建拉取请求”按钮,然后单击它
  • 选择一个分支 - 通常它是一个刚刚被推送的分支
  • 选择一个目标分支 - 大多数时候它是“开发”
  • 添加审阅者 - 大多数时候完全相同的人
  • 添加描述 - 可选

在某个时候,我开始怀疑是否可以在不使用 Web 客户端的情况下完成所有这些工作。这似乎是可能的。Stash 和 Bitbucket 有一个 apiGithub 也有一个(虽然它不同 - 第一个使用 ssh 而后者使用 http)

现在,这个东西可能会简化一些事情,但我觉得它可以更好。

我使用 Emacs(具体来说是 Spacemacs 发行版)。现在我想知道是否有人已经构建了与 集成的任何东西magit,或者我可以自己做吗?我的意思是这有多难?脚本应该让您提交然后推送分支,然后使用给定的默认值创建基于该分支针对“开发”的拉取请求。有没有人做过这样的事情?

你们能指点我一些elisp利用力量magit来做类似事情的插件吗?也许我可以自己写一些东西。

0 投票
0 回答
335 浏览

macos - 使用 Magit 打开 ediff 合并窗口时 Emacs 崩溃

合并产生冲突后,我打开状态窗口

显示,例如

(还有一个讨厌的警告窗口打开“警告(el-get):您的 Emacs 不支持 HTTPS(TLS)。警告(:警告):对于 magit-1.4.0

您刚刚更新到 Magit 的 1.4.0 版本,必须做出选择……”我认为这不是问题,但无论如何都包括在内。)

当我将光标移动到 .gitignore 并键入 e 打开 ediff 合并工具时,emacs 完全崩溃。

当我运行neotree -mode 或使用 ? 打开没有 neotree 模式的帮助缓冲区。

错误报告说

我在 OSX 10.10.5、GNU Emacs 24.5.1 上运行

0 投票
1 回答
111 浏览

git - 使 magit 显示文件大小

如何让 magit 在状态缓冲区中显示文件大小(至少是未暂存的文件)?这将帮助我避免将大文件直接添加到 git。

这是状态缓冲区现在可能看起来的示例:

这是我想看到的:

0 投票
2 回答
819 浏览

git - 如何撤消 magit 中的变基?

在此处输入图像描述

我不想要那部分Rebasing feature/thread-temp onto 02fc3a4771e03d0ba98b9e52305117b4cfa05fce

我尝试git reset --soft HEAD~1并重新提交,但它不会救我..

我不知道我是怎么来到这里的,因为我隐约知道 rebase 是什么,并且并不打算在这里使用它。

我该如何回到正常状态?

它与其他问题的不同之处在于我可以使用特定于 magit 的方法。

0 投票
1 回答
689 浏览

rebase - 在 magit 中,我可以交互地变基到另一个分支吗?

我有一个功能分支,我想以交互方式基于 master 进行变基,例如:

期望的结果是

在 E 和 F 之后运行一些健全性检查脚本(使用 rebase-todo 文件上的 exec 行)。

但是,如果我转到 magit 的日志缓冲区并r e在 commit 上输入点D,magit 会执行 agit rebase -i D^而不是git rebase -i D,因此该功能的提交会从C. 我想要的是重新定位到大师的尖端,而不是大师^。

所以:

  1. 有没有办法强制 magit 将交互式 rebase 基于D我在日志缓冲区中指向的位置,而不是基于我指向的父级?
  2. magit 似乎没有在非交互式变基中自动附加 ^ 。为什么会出现差异?跨分支交互变基在某种程度上是个坏主意吗?

顺便说一句,我知道有一些解决方法:我可以下拉到命令行;我可以将其拆分为一个分支内交互式 rebase,然后是一个非交互式 rebase;或者我可以在 master 上做一个虚拟提交。它们都不是很方便。我想知道是否有办法一步到位,或者如果没有,是否有一些我应该知道的智慧。

0 投票
1 回答
355 浏览

emacs - emacs magit: git-dir is not in the default place

If git-dir is not in work-tree, we can use the command line

to run git. How can we use magit in this situation? Thanks.

0 投票
2 回答
1219 浏览

emacs - Emacs + magit - 垂直责备

我最近决定从 vim 切换到 spacemacs,它已经包含了 magit。使用 Vim 时,很容易显示 :Gblame,它显示带有提交、作者和并排代码的垂直菜单(类似于原始 git blame 的工作方式)。

我发现了 magit-blame,但它以不同的方式(提交、作者和下面的代码)显示差异,这对我来说似乎不自然。是否可以将这种观点更改为类似于逃犯的工作方式?我知道 emacs 是几乎无限可能性的编辑器,所以它必须以某种方式成为可能。

我还发现我可以使用 vc-annotate 但它不保留语法突出显示。

0 投票
1 回答
158 浏览

magit - Windows 上 Emacs 24.4 中的 magit-version 返回错误的参数类型:stringp、nill

这在 Mac 上运行良好,但是当尝试在 Windows 上进行设置时它不起作用。

我已经在 Windows 路径上安装了 msysGit Bash,并尝试按照其他说明进行设置。

0 投票
0 回答
650 浏览

git - Magit 找不到 Git

我的 emacs 插件 magit 找不到正确的 git 路径。

看了magit的源码,发现magit用这个shell命令找git:

我不明白这个shell命令。

但它返回了错误的 git 路径。

环境:</p>

0 投票
1 回答
234 浏览

emacs - 在 magit 日志中显示 HEAD

我想知道是否有办法改变 Magit 在 magit-log 上突出显示当前签出分支的方式。git log --decorateHEAD在签出提交时显示,而 Magit 在签出提交@时显示(没有分支),但是,当签出分支时,分支名称将包含在一个矩形中,如下所示:

在此处输入图像描述

但是,当从终端运行 emacs 时,相同的签出分​​支将显示为:

在此处输入图像描述

如您所见,无法识别当前签出的分支。

我试过了,customize-face但这没有用......

谢谢你的帮助,洛伦佐