Git Directory Diff在我的子模块中不起作用

加博尔·利普塔克(GáborLipták)

我正在使用Git 1.8.4和Linux(Kubuntu 13.10)。

我有一个带有子模块的Git存储库。如果我在主Git模块中要求目录diff,它可以正常工作。如果在子模块之一中执行相同的操作,则会收到错误消息:

~/Projects/MAINMODULE/platform/SUBMODULE [master]$ git difftool -tool=meld --dir-diff --cached
  fatal: Could not switch to '../../../../platform/': No such file or directory
  diff --raw --no-abbrev -z --cached: command returned error: 128
~/Projects/MAINMODULE/platform/SUBMODULE [master]$ cd ..
~/Projects/MAINMODULE/platform [master]$ cd ..
~/Projects/MAINMODULE [master]$ git difftool -tool=meld --dir-diff --cached
  // NO PROBLEM, works.
~/Projects/MAINMODULE [master]$ git version
  git version 1.8.4

你有什么主意吗?可能是Git Bug吗?

更新:1.8.5.3产生相同的输出

cdyson37

此解决方法对我有效:

GIT_WORK_TREE="$(git rev-parse --show-toplevel)" GIT_DIR="$(git rev-parse --git-dir)" git difftool --tool=meld --dir-diff

当然,您可以按照您的示例放入--cached。

键入的内容很多,因此您可以将以下别名添加到您的~/.gitconfig

[alias]
    submeld = !git --work-tree "$(git rev-parse --show-toplevel)" --git-dir "$(git rev-parse --git-dir)" difftool --tool=meld --dir-diff

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Git Directory Diff在我的子模块中不起作用

来自分类Dev

git子模块更新不起作用

来自分类Dev

git子模块同步不起作用

来自分类Dev

git子模块更新-远程不起作用

来自分类Dev

Git diff忽略子模块中的textconv

来自分类Dev

为什么git diff在我的命令行中不起作用?

来自分类Dev

git apply --recount对我不起作用

来自分类Dev

notepad ++在Git Bash中不起作用

来自分类Dev

notepad ++在Git Bash中不起作用

来自分类Dev

Babel在git hook中不起作用

来自分类Dev

Git master home directory

来自分类Dev

git pull / push / clone不起作用,但是SSH和git status / diff起作用

来自分类Dev

我需要git子模块吗?

来自分类Dev

Git-Git Pull在Cygwin中不起作用

来自分类Dev

模块的子模块在gradle中不起作用

来自分类Dev

版本控制中的Git子模块配置

来自分类Dev

在GitBox中找不到Git子模块

来自分类Dev

在Android Studio中访问git子模块

来自分类Dev

从特定分支中删除 git 子模块

来自分类Dev

Git 命令在 jenkins 管道中不起作用 - 但是当我在本地运行它时它起作用

来自分类Dev

Git钩不起作用

来自分类Dev

git ssh不起作用

来自分类Dev

git checkout不起作用

来自分类Dev

git checkout不起作用

来自分类Dev

Git推送不起作用

来自分类Dev

Git子模块混乱

来自分类Dev

更改git子模块

来自分类Dev

管理git子模块

来自分类Dev

为什么我的Git mergetool配置不起作用?