본문 바로가기
IT Tech/Git

Git branch에서 파일 또는 디렉토리 검색하는 방법

by 홋빵빵 2020. 6. 3.
반응형

branch에 뭔가를 써 놓았지만, 어떤거였는지 기억이 나지 않은적이 있으신가요? 기억이 나지는 않지만 내가 만든 파일을 찾아야 할때 어떻게 해야 될까요?

 

이럴 땐 git log 와 git branch를 통해서 찾을 수 있습니다.

 

% git log --all -- somefile

commit 55d2069a092e07c56a6b4d321509ba7620664c63
Author: Dustin Sallings <dustin@spy.net>
Date:   Tue Dec 16 14:16:22 2008 -0800

    added somefile

% git branch -a --contains 55d2069
  otherbranch

글로브(glob) 패턴, 즉 와일드카드 또한 지원 합니다.

% git log --all -- '**/my_file.png'

 

위와 같이 glob을 사용할 때 작은 따옴표"'"로 문자를 묶어줘야 하며, 리눅스의 find와 마찬가지로 확장하는 대신 git 패턴을 변경하지 않고 git로 전달 할 수 있습니다.

 

추가로 git의 ls-tree를 통해 기존 모든 branch에서 다음과 같이 검색 할 수도 있습니다.

for branch in `git for-each-ref --format="%(refname)" refs/heads`; do
  echo $branch :; git ls-tree -r --name-only $branch | grep '<foo>'
done

이렇게 사용하면, 정규식으로 파일 이름을 검색할 수도 있습니다.

반응형

댓글