|
|
1
31
我使用更复杂的命令。据我记忆所及,我是从这条线得到的 http://kerneltrap.org/mailarchive/git/2007/6/28/250230
请注意,我已将其拆分为几行以增加可读性,并使用
我通常使用EmacClient编辑,例如提交消息。不幸的是,上面的mergetool配置没有使用EmacClient,当我试图让它与EmacClient一起工作时,遇到了各种问题,包括EmacClient立即返回的事实。 但是你刚刚提醒了我这个问题,所以我可能很快就会解决这个问题。但是,如果其他人已经找到了一个解决方案,那当然是很好的;-) |
|
|
2
13
要将其与“git mergetool”一起使用,请将以下内容放入git配置中:
此外,您应该检查(在脚本中)所用工具的路径,以及穷人的控制台检测是否适合您。
当不存在冲突标记时,脚本退出,代码为0,git将认为合并成功。
设置合并工具选项
|
|
|
3
8
这是我的设置,它运行得相当好,至少使用了Emacs 23.3。我使用的技巧是在钩子中使用(递归编辑),这样EmacClient在建议的ediff退出钩子调用(退出递归编辑)之前不会退出。 我使用advistedediff-quit来确保退出递归编辑是最后一件事。 还有一些钩子可以保存当前帧和窗口状态,并在以后恢复,钩子可以使当前帧填充屏幕。您可能希望修改,但我发现合并全屏是最好的方式。
放入您的gitconfig:
放入.emacs或等效文件:
|
|
|
4
6
请注意双反斜杠字符。我有点理解,他们需要(而不是一个)通过sh/bash引用和emacs启动引用机制。我将把它留给更了解Emacs和shell引用的人来解释血腥的细节。 -pmr |
|
|
5
4
Viper3369代码中的elisp代码( Using ediff as git mergetool (编辑:我想我应该发布修改后的emacs lisp代码:
|
|
|
6
4
谢谢,它也适用于xemacs,但是引用 the reply by pmr 似乎不起作用,但我认为所有其他回复中的引用都很好:
我把上面的代码放进去了
|
|
|
7
3
这是tarsius设置的一个变体。它处理祖先文件$BASE不存在的情况,并允许您中止合并,而不破坏git关于冲突的状态(在退出时不自动保存)。它还将换行符反斜杠,以便您可以保留格式。
|
|
|
9
2
有一种方法可以在EmacClient中使用ediff合并祖先文件功能。 退出hook(它) 必须 追赶 ediff清除命令(否则ediff会话未正确终止)将通过shell命令在管道中拍摄角色。 一个更精致的将使用信号量。 下面是Unix超级用户。 然后到达Emacs大师(Stefan Monnier)并告诉您可以打电话
添加后 (投球退出) 在埃迪夫河的尽头。没有命名管道,没有信号量,只有Emacs LISP。简单、优雅,不需要奇怪的测试来避免在不使用管道或信号量时使用它们。
|
|
|
10
1
并在下面添加了“(when)”子句,因为我通常更喜欢多帧ediff:
|
|
|
11
1
结合上面我最喜欢的想法。此配置使用 EmacClient,因此要求emacs已在运行。 这也适用于git difftool—它将调用ediff文件。(何时) 在.gitconfig中:
在~/bin/ec merge中(确保~/bin位于您的路径中):
在.emacs中:
通常,如果emacs已访问任何相关文件(本地、, 远程、基本或合并)ediff将要求它保存并杀死 缓冲器如果你喜欢我总是想回答“是”,那么添加 这也适用于您的.emacs:
|
|
|
12
1
这是一个很好的关于使用mercurial进行此操作的讨论。看起来他们有一个包装器脚本,可以缓解EmacClient问题: https://www.mercurial-scm.org/wiki/MergingWithEmacs |
|
|
Bernhard Gratzl · 合并具有不同时间戳的表? 1 年前 |
|
|
Camila · 如何在R中连接多个数据帧中的选定列 2 年前 |
|
|
mr.T · 合并两个不同大小的数据帧,不使用关键字[重复] 2 年前 |
|
|
itan mare · rtk查询合并数据,标签,突变 2 年前 |
|
|
Casey · 合并数据以创建R中的纵向数据帧 2 年前 |
|
|
lolo · 通过在一列上混合值来连接/合并多个panda数据帧 2 年前 |
|
|
isthisthat · 基于模式匹配的两个数据表的连接 2 年前 |