GIT
GIT 모든 branch 에서 특정 파일 찾기
인포개더러
2013. 9. 30. 22:25
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 를 찾는 방법을 올려 보도록 하겠습니다.