- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我刚开始使用 Git,可能我错过了一些明显的东西,但这里是:
我正在尝试整理一个包装器脚本,我可以用它来用 DiffMerge 替换内置的 git diff。基于this thread在 SO 上,我创建了以下批处理文件:
@echo off
REM ---- Switch forward slashes to back slashes ----
set oldW=%2
set oldW=%oldW:/=\%
set newW=%5
set newW=%newW:/=\%
REM ---- Launch DiffMerge ----
"C:/Programs/SourceGear/DiffMerge/DiffMerge.exe" /title1="Old Version" %oldW% /title2="New Version" %newW%
我将 bat 文件放在 %GIT_INSTALL%/cmd 下并按如下方式编辑我的 .gitconfig 文件:
[diff]
external = C:/Programs/git/cmd/git-diff-wrapper.bat
如果我启动 Git Bash 并执行 git diff HEAD HEAD~ -- 我的文件
我收到一条消息 File (\dev\null) not found
- 考虑到我在 Windows 上,这并不奇怪。
继续,我启动了 gitk 并在 Edit>Preferences 下,我选择了相同的包装脚本。为特定文件尝试“外部差异”选项会给出神秘的错误消息 Unknown Option "
很明显,我不知道自己在做什么,所以非常感谢任何帮助。
最佳答案
我在互联网上到处寻找这个问题的答案。我尝试了上面和其他地方的所有解决方案。我可以让 merge 部分工作而不是差异部分,反之亦然。所以我最终所做的是根据我在互联网上获得的所有对我有用的信息,将我自己的简单解决方案组合在一起。它不需要任何脚本,只要你编辑你的 .gitconfig
它通常位于以下目录 C:\Documents and Settings\[username]
你需要有已安装 DiffMerge 程序。
这是我的 .gitconfig
文件的相关摘录。您只需要编辑您的 DiffMerge
版本所在的路径。 注意我在路径中使用了旧的 DOS 8.3 格式
[diff]
tool = diffm
[difftool "diffm"]
cmd = "H:/PROGRA~1/SourceGear/DiffMerge/DiffMerge.exe $LOCAL $REMOTE"
prompt = false
[merge]
tool = diffmerge
[mergetool "diffmerge"]
cmd = "H:/PROGRA~1/SourceGear/DiffMerge/DiffMerge.exe --merge --result=$MERGED $LOCAL $BASE $REMOTE"
trustExitCode = false
keepBackup = false
如果您愿意,也可以使用命令 git config --replace --global [options]
进行设置。
这个简单的解决方案也非常适合我。对于较新版本的 DiffMerge (3.3.1),需要更改命令路径:
cmd = "C:/PROGRA~1/SourceGear/Common/DiffMerge/sgdm.exe ...etc..."
关于git - 如何使用 msysgit/gitk 设置 DiffMerge?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/780425/
我想知道是否有办法设置 git 和 diffmerge,以便在您执行以下命令时:git difftool diffmerge pop 并显示所有修改过的文件的文件列表,而不是通过命令行循环浏览它们?
最近我重新安装了 macOS。我已经安装了 Sourctree 和 diffmerge 并将 diffmerge 设置为默认合并工具。出于某种原因,每次当我选择“解决冲突 - > 打开外部合并工具”时
我希望能够使用 DiffMerge 编辑冲突,但是当我尝试时,VS (2010) 提示我需要配置一个外部工具。它指出我应该从工具/选项/源代码管理/颠覆菜单中执行此操作。问题是,我没有 [Source
我的团队正在寻找一个强大的三向合并工具来添加到我们的工具箱中。我确定 P4Merge 和 DiffMerge 是我们的最佳候选者,因为它们被认为是 SO 上最好的(感谢 SO 社区),并且它们符合公司
我一直遵循此 blog entry by Dave 中“answer ”链接中的说明因为我在 Windows 7 上使用 SourceGear 的 DiffMerge 工具。我已将 git\cmd 目
在 OSX 上,我使用 diffmerge 作为我的 git diffing 工具。这是我的 .gitconfig: [diff] tool = diffmerge [difftool
我正在尝试将狂想曲 DiffMerge 设置为 SVN 中的合并工具。 在我设置的 .subversion/config 中: [helpers] merge-tool-cmd = /opt/
我刚开始使用 Git,可能我错过了一些明显的东西,但这里是: 我在 Windows XP 上使用 msysgit 1.6.2.2 安装时,我选择选项 1 为“仅使用 Git Bash” 我正在尝试整理
我正在按照提供的步骤在雪豹上尝试将 DiffMerge 与 svn(版本 1.6.16)集成 here .我做了以下更改: 1)创建一个脚本,看起来像: #!/bin/bash DIFFMERGE_P
第一个消息对话框错误是: Difftool would like to access “~/Library/Application/Scripts/net.langui.SnailSVN.DiffTo
我当前使用命令hg diffmerge -r 32 -r 30 myfile,但这仅显示两个窗口,而不是三个。我怎样才能让它进行三向 merge ? .hgrc [ui] merge=diffmerg
我正在尝试将 DiffMerge 配置为我在 Git 中的 difftool,但没有成功。这是我的 .gitconfig 文件的相关部分(未显示的其他设置仅供用户使用)。 [diff]
我已使用以下说明将 Sourcegear DiffMerge 配置为我的默认 git merge 工具: git config --global diff.tool diffmerge git con
我想configure custom compare用于 TFS 源代码控制。它需要diffmerge.exe的位置路径从上下文菜单命令执行。但是我找不到diffmerge.exe的路径在程序文件中。
我正在尝试为 git 配置 DiffMerge 以用于 difftool 和 mergetool。我使用了以下命令:- 命令提示符窗口中的以下命令将更新您的 .gitconfig 以配置 GIT 使用
我使用 TFS 进行源代码控制,但我想使用 SourceGear DiffMerge 来查看文件差异和进行合并。我找到了工具 -> 选项 -> 源代码管理 -> Visual Studio Team
我知道我们应该使用命令“git mergetool”来解决冲突并使用“git difftool”来比较更改。 但是我们如何在github windows中将SourceGear DiffMerge设置
所以我看到了一些关于让 DiffMerge 成为 git 的 mergetool 和 difftool 的问题。本质上它归结为在你的 PATH 中有 DiffMerge (sgdm.exe) 和一个看
在 VS2010 中,如果我从上下文菜单中选择比较,则会使用 WinMerge,但是当在 VS 中使用 TFS2010 工具进行合并时(Pending Changes 选项卡),它坚持使用糟糕的 de
我是一名优秀的程序员,十分优秀!