Questions tagged «magit»

是Git版本控制系统的Emacs扩展。

2
Magit在Windows中极慢。我该如何优化?
我被迫将Windows 10用于一个项目。是的,我宁愿使用GNU / Linux。为了保持理智,我尝试将Windows视为Emacs的引导程序:) 不幸的是,Magit(我最喜欢的Emacs部分之一,它也弥补了Windows上缺少良好的命令行)的速度令人难以忍受。我有一个SSD,16 GB的RAM和一个四核i7,但是在小型存储库上执行需要八秒钟magit-status。然后,当我要进行另一个更改时,每个文件大约需要5秒钟。 这是我尝试过的: $ git config --global core.preloadindex true $ git config --global core.fscache true $ git config --global gc.auto 256 将整个项目添加到Windows Defender(我唯一的AV)排除列表中 设置为magit-git-executable我下载的常规msysgit(https://git-for-windows.github.io/)。我检查了一下,git status这花费了不到1秒的时间。我知道这样magit-status做的确更多,但这太多了。 任何人都可以提出一些方法来加快速度吗?我无法想象像这样在Windows上使用Magit的人。 有人建议这个问题是重复的,但他们问: 我在努力理解为什么Emacs在Ubuntu上的启动时间比Windows短得多。有人知道答案吗? 我至少知道为什么Emacs,Git和Magit在Windows上速度较慢的一些原因。我在问我如何优化Magit以减少工作量或缓存结果等,即使这是以功能为代价的。

2
使用magit进行最基本的添加,提交和推送
我通常每次想将更改提交到存储库时只使用几个git命令: $ git add --all . $ git commit -m "update." $ git push -u origin master 玛吉特在这方面会有用吗?M-x magit-status似乎有帮助,但我没有从ref1 ref2 ref3完全理解“登台/非登台”,“大头”等语言。 等价的命令可能是什么magit?提前致谢 - 编辑此页面似乎对我来说水平更好,但是C-u s相当于git add --all .?尽管该页面说它不起作用。
15 magit 

2
从magit管理几个git仓库
我正在使用magit维护几个git存储库,并且它们的数量还在不断增长。有没有一种方法可以向magit通知所有这些项目,以使单个命令可以显示每个项目的状态摘要,而不是手动magit-status在每个项目上运行?
14 magit 

2
Git:是否可以直接从文件缓冲区暂存选定区域?
使用Magit,您可以打开magit状态缓冲区,按TAB展开差异(或调RET出单独的差异缓冲区),标记块的一部分,然后按s或u登台/取消登台。非常好。 我想知道是否可以: 编辑档案 在文件缓冲区内选择一个区域,一个块或几个块 登台/非登台所选区域或环绕点
14 magit  git 

2
磁力推/拉演出进度
我缺少有关推/拉进度的视觉指示。执行适当的命令后,magit打印 推送到domain.tld:repo.git 但是,没有进一步说明进展情况。在较慢的网络连接上,或者如果要传输的数据很大,该过程可能会花费一些时间,因此,如果magit可以给出进度的指示,那将是很好的。 自然地,*magit-process*缓冲区包含git自己的进度指示,但是您如何告诉magit将相关部分传递到回声区呢? 更好的是将进度指示器添加到模式行,从而允许用户关闭magit-status缓冲区并继续git进行繁重的工作。 编辑:我不是在寻找magit推动/拉动的迹象,我知道那是因为我只是打P/ F。我想看看它在推/拉的哪个阶段(即(解包),传送)以及该动作已经执行了多少。 记住,如果您git通过终端运行,它将打印出类似 推送到domain.tld:repo.git 计数对象:29,已完成。 书写对象:100%(15/15),249.80 KiB | 28.00 KiB / s,已完成。 总计15(增量10),重用0(增量0) 到domain.tld:repo.git 5436bd0..d9ec32a master-> master 更新本地跟踪参考'refs / remotes / origin / master' [显然,这是动态输出的快照]。我希望从emacs中显示该进度。 Edit2:在github上打开功能请求
14 magit 

4
Magit:如何显示行内差异
我有一个文件,我做了一些更改。此处SmartGit如何显示差异。 如您所见,它显示了差异在行内的位置。在特定位置将背景更改为红色。而且非常好。我不需要花时间去寻找差异。我立即看到区别在哪里。 现在在Magit中看起来是这样的: 如您所见,Magit说差异在于整个行。它没有显示差异在行内的位置。所以我需要手动找到区别。我每次都需要这样做。这不是很可比。假设我在20行中有差异。我需要花费大量时间来查找实际发生的变化。不太好 magit可以在更改所在的实际列中显示差异吗?就像在SmartGit中一样。
14 magit 

2
如何使用magit自动签署提交?
我对我的每次提交都用我的GPG密钥签名感兴趣。由于我使用magit与git进行接口,所以我想知道是否可以告诉magit对每个提交进行签名(或者至少可以通过某种变通办法来实现)。
13 magit  git  security  gpg 

1
Magit diff并排
我想知道是否有一种方法可以在中获得标准的并排diff视图magit。也就是说,我不想看到旧的代码块和一个新的代码块,而是想看到它们在相同的水平对齐方式上。
13 magit  diff 

2
如何强制特定缓冲区在新窗口中打开?
在Magit中提交更改时,打开diff视图并添加有关提交的详细信息很有用。 在Magit中,我们看到*magit ..*缓冲区中的差异。当你打cc,而光标在上演文件时,Magit提交缓冲.. COMMIT_EDITMSG弹起。默认情况下,此新缓冲区将替换*magit ..*显示提交差异的缓冲区。 问题- 如何使.. COMMIT_EDITMSG缓冲区在新窗口中打开(如果框架仅以1个窗口开头,请重用其他窗口或创建新窗口),以便我能同时看到*magit ..*和.. COMMIT_EDITMSG缓冲区?
12 buffers  window  magit 

2
Magit-如何在不键入整个分支名称的情况下在本地签出远程分支?
我有一个远程分支机构remote-branch-long-name。当我以头盔完成率进行结帐时,我可以键入remote-branch并origin/remote-branch-long-name显示为一个选项。问题是要在本地检出该分支,实际上我不能切换到该分支,而我需要切换到remote-branch-long-name (without the origin/ prefix),因为helm没有提供作为完成选项,我必须手动输入整个分支名称。 在该用例中,我应该使用另一个功能吗?还是必须一起破解一个功能?
12 magit 

1
Magit-撤消上一次提交-历史操作
这个StackOverflow问题具有撤消最后一次提交的最佳解决方案/方法。 我是在几周前开始使用Magit的,在浏览了所有文档之后,我仍然没有确定/最佳的方法来撤消错误提交的更改。 例如: 对于撤消和重做,我们可以使用上一次提交: $ git commit -m "Something terribly misguided" $ git reset HEAD~ << edit files as necessary >> $ git add ... $ git commit -c ORIG_HEAD # To keep the same commit message 使用Magit重现此过程的最佳工作流程应该是什么?
12 magit  git 


2
Magit:不要要求保存更改
当我有一个未保存的更改的缓冲区时,magit会要求执行每个操作来保存更改。 我没有故意保存这些更改,因此有没有办法禁用此行为?我的Magit应该只忽略未保存的更改。
11 magit 

1
用magit从master进行简单的变基?
我使用多年的旧版本才将Magit升级到最新版本。经过四处寻找并找出差异之后,所有改进都非常出色。 现在,我只是尝试进行最简单的(非交互式)基础,magit而我不知道该怎么做。此示例来自https://git-scm.com/docs/git-rebase。 git checkout topic git rebase master 击中 r ? 我的主题分支以master的最新更改为基础。
11 magit 

1
如何设置上游分支以将本地分支推送到magit?
据我所记得,如果我在一个分支上工作,例如,my-feature-branch我曾经能够使用magit-status菜单从菜单中执行此操作P P,然后从origin/my-feature-branch顶部的列表中选择远程分支。效果很好。 最近,在讨论中,我可以做一些类似的事情P -u e(打开magit-push-popup,设置--set-upstream标志并e在其他地方使用),类似地,我可以从以开头的分支列表中进行选择origin/my-feature-branch。这对我也很好。但是,即使在最近,这种方法也不再起作用,而且我还无法找出设置上游分支的最佳方法。 当我使用P e第一个选项将分支推送到时origin/my-feature-branch,这几乎总是我想要的。但是,它没有设置origin/my-feature-branch为本地分支的上游。使用P u允许我选择上游分支,但origin/my-feature-branch不在列表中,而且我必须在origin/my-feature-branch不使用制表符补全的情况下进行键入(我知道这并不难,但是它容易出现用户错误,并且比命令行要慢)。 这是现在设置上游分支的唯一方法,还是我错过了什么?我查看了与此问题相关的其他讨论和文档,但是我发现的所有来源似乎都已过时。
11 magit  git 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.