2010-11-30 7 views

답변

22

찾기는 친구입니다. .git 폴더는 각 리포지토리에 존재하므로 그 위치를 파악하면 모든 리포지토리가 제공됩니다. 쉘에서

find /Users/username -name ".git" -print 
+1

이것은, 감사 – flickerfly

+0

너무 느려 ... 어쩌면 다른 방법이 있습니까? – gaussblurinc

8

사용 find :

이 모든 (비 베어) Git 저장소에서 생성 된 .git 디렉토리를 검색
find ~ -name .git 

.

베어 리포 지 토리를 찾기 위해 검색하기에 적합한 파일을 선택하는 것은 독자의 연습 과제로 남겨 둡니다.

+2

사실 그것은 .git, 원하는 디렉토리에 대해서도 마찬가지로 d 형식으로. – ergosys

+3

@ergosys 좋은 지적이지만, ".git"라는 이름의 보통 파일이 몇 개나 누워 있습니까? 대답이> 0 인 경우이 파일에 무엇이 있습니까? –

+3

@Laurence 핵 발사 코드, 포르노, 암호화 키, 식료품 목록 등. –

6

: 당신이 locate이 가정

find $HOME -type d -name ".git" 
+0

찾기 : -xtype : 알 수없는 옵션 – flickerfly

+0

Mac OSX는 BSD 'findutils'와 함께 제공되는 반면 'xtype'은 GNU와 관련이 있습니다. 내 대답을 수정했습니다. –

4

,이 훨씬 더 빨리해야한다 :

locate .git |grep git$ 

당신이 GNU이 찾을 경우 또는 mlocate, 이것은 단지 자식 DIRS을 선택합니다 :

locate -ber \\.git$ 
+0

$ locate -ber \\. git $ 찾기 : 불법 옵션 - b 사용법 : [-0Scims] [-l 제한] [-d 데이터베이스] 패턴 ... 기본 데이터베이스 :'/ var/db /locate.database '또는 $ LOCATE_PATH – flickerfly

+1

하, 이것은 SO를 제외하고는 ssh와 같습니다 :) – Tobu

+0

"경고 : 위치 데이터베이스 (/var/db/locate.database)가 없습니다." - 데이터베이스를 만들어야합니까? – gaussblurinc

관련 문제