Jac*_*ieg 5 git git-config git-alias
我创建了一个 git 命令来显示 HEAD 和最后一次 Git-SVN 提交之间的差异。
Git 是命令
git diff `git log --grep git-svn-id | grep commit | sed "s/commit //g" | head -1` HEAD
Run Code Online (Sandbox Code Playgroud)
我想为它创建一个别名,我这样做了:
git config --global alias.diffsvn 'diff `git log --grep git-svn-id | grep commit | sed "s/commit //g" | head -1` HEAD'
Run Code Online (Sandbox Code Playgroud)
但是当我运行git diffsvn并获得该命令的输出时,我得到了
致命:不明确的参数“git”:未知修订版或路径不在工作树中。使用“--”将路径与修订版分开,如下所示:“git [...] -- [...]”
我怎样才能让这个别名起作用?
简短的回答是你需要!git在 diff 前面添加一个 , 来告诉 git 这是一个 shell 命令。所以这:
git config --global alias.diffsvn '!git diff `git log --grep git-svn-id | grep commit | sed "s/commit //g" | head -1` HEAD'
Run Code Online (Sandbox Code Playgroud)
我建议这样做:
git config --global alias.diffsvn '!git diff `git log --grep git-svn-id -1 | sed -n "s/commit //p"` HEAD'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15977 次 |
| 最近记录: |