2013-06-12 1 views
2

HEAD와 마지막 Git-SVN commit 사이의 차이점을 보여주는 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을 실행할 때 해당 명령의 출력을 가지고 하지만 얻을 수

fatal: ambiguous argument '`git': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git [...] -- [...]'

이 별칭을 어떻게 만들 수 있습니까?

답변

3

짧은 대답은 diff 앞에, !git을 추가하여 git이 쉘 명령임을 알립니다. 그래서이 :

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' 
+0

내 일, milion 감사를 저장! –

관련 문제