2013-06-13 2 views
0

의 목록이 어딘가 변경 목록 또는 파일 또는 무언가에 파일의 목록을 추가하고, git diff commit1 commit2 myListOfFiles을 실행하고 파일을 그냥 목록은 diff를 얻을 수 있습니까? 또는 해당 목록으로 확장되는 매크로를 만들 수 있습니까? 해당 목록에서 제거하고 추가하거나 변경할 수 있습니까?힘내 : DIFF 파일

이것은 내가 diff를하고자하는 모든 20 개 파일의 경로를 입력하지 않아도, 단지 특정 파일에 대한 패치를 만드는 슈퍼 유용 할 것이다.

답변

1

는 간단하게 수행

git diff commit1 commit2 -- $(cat /path/to/listfile) 

당신은 당신의 .gitconfig에 다음 라인으로이 명령 별칭을 수 있습니다

[alias] 
    listdiff = "!f() { git diff $1 $2 -- $(cat \"$3\"); }; f" 

git listdiff commit1 commit2 path/to/file 
+0

이 아주 좋은 방법으로 호출 가야 겠어, 뭔가 더 잘 어울릴 때까지 사용하겠습니다. 고마워요! :) 'bash-like 스크립팅을'gitconfig'에서 할 수 있다는 것을 알았습니다. 이 파일들을 다른 파일이 아닌'gitconfig' 안에 보관할 수 있습니까? 또한'gitconfig' 내부에서 이런 종류의 스크립팅에 관한 몇 가지 링크에 대한 링크를 줄 수 있습니까? –

+1

@ JasonSwartz "기타 파일"이란 무엇입니까? git config에'~ .gitconfig','.git/config','/ etc/gitconfig' 등을 넣을 수 있습니다.''man git-config' (https : // www. kernel.org/pub/software/scm/git/docs/git-config.html)를 참조하십시오. 별칭을'!'로 시작하면 나머지 줄은 쉘에서 간단히 실행되므로 "bash-like"가 아닌 실제 bash (또는 사용하는 쉘)입니다. – kirelagin

+0

나는 파일 목록에 대해 별도의 파일을 보관하지 않기로했다. 그 파일들의 목록을'gitconfig'에 저장합니다. –