【问题标题】:Git: Alias error: Use '--' to separate paths from revisionsGit:别名错误:使用“--”将路径与修订分开
【发布时间】:2013-06-08 13:27:35
【问题描述】:

我创建了一个 git 命令,显示 HEAD 和最后一次 Git-SVN 提交之间的差异。

Git 是命令

git diff `git log --grep git-svn-id | grep commit | sed "s/commit //g" | head -1` HEAD

我想给它起一个别名,我这样做了:

git config --global alias.diffsvn 'diff `git log --grep git-svn-id | grep commit | sed "s/commit //g" | head -1` HEAD'

但是当我运行git diffsvn 并获得该命令的输出时,我得到了

致命:不明确的参数“git”:未知的修订版或路径不在 工作树。使用 '--' 将路径与修订分开,如下所示: 'git [...] -- [...]'

我怎样才能使这个别名起作用?

【问题讨论】:

    标签: git git-config git-alias


    【解决方案1】:

    简短的回答是你需要在 diff 前面添加一个!git,告诉 git 它是一个 shell 命令。所以这个:

    git config --global alias.diffsvn '!git diff `git log --grep git-svn-id | grep commit | sed "s/commit //g" | head -1` HEAD'
    

    我建议改为:

    git config --global alias.diffsvn '!git diff `git log --grep git-svn-id -1 | sed -n "s/commit //p"` HEAD'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-19
      • 2014-01-18
      • 1970-01-01
      • 2014-11-28
      • 1970-01-01
      • 1970-01-01
      • 2013-09-24
      相关资源
      最近更新 更多