GIT 모든 branch 에서 특정 파일 찾기


GIT 을 사용하다 보면 어떤 파일이 추가된 branch 를 찾아야 할 때가 있습니다. 작은 프로젝트라면 상관 없겠지만 수십 수백개의 branch 가 있는 project 라면 파일을 찾기 힘들겠죠.



그럴때 사용할 수 있는 script 입니다.


for branch in $(git rev-list --all)

do

  if (git ls-tree -r --name-only $branch | grep --quiet "$1") 

  then

     echo $branch

  fi

done


위 내용으로 gitff 파일을 생성한 후 (git find file)


$ chmod +x gitff


명령으로 실행 속성을 부여합니다.


그리고 파일을 찾기 원하는 폴더에서


$ gitff SearchFileName


형식으로 실행을 하면 모든 branch 를 검색하여 해당 file 이 있는 commit 의 commit id 를 return 합니다.

commit ID 를 찾아 낸 후


$ git branch --contains CommitID


형식으로 branch 를 검색하면 됩니다.



일단 두 번의 명령을 실행하여 찾는 방법을 찾아 냈으나 다음엔 한번에 branch 를 찾는 방법을 올려 보도록 하겠습니다.




Posted by 인포개더러
,