2015-01-05 7 views
1

내 폴더 ~/git에는 자식 저장소가 포함 된 폴더가 20 개 이상 있습니다. 더 우아한 방법, 예를 들어,이있는 경우,몇 개의 자식 저장소에 대한 변경 사항을 가져옵니다

for f in $(find . -mindepth 1 -maxdepth 1 -type d); 
do 
    cd ${f}; 
    git pull; 
    cd..; 
done 

궁금 해요 : 나는 또한 루프를 해결할 수 떠들썩한 파티에서

cd folder1 
git pull 
cd .. 
cd folder2 
git pull 
cd .. 
# etc 

를 실행하여 각 저장소에 대한 변경 사항을 당겨 수 xargs 또는 -execfind입니다.

+0

루프의 잘못은 무엇? 내가 그것을 할 필요가 있다면 나는 그렇게 할 것입니다. – MightyPork

답변

3

점으로 시작하는 dir이없는 경우.

for f in */; do (cd "$f"; git pull); done 

아니면 ~/.bashrc에있는 기능을 넣어 사용 git_pull 간단한 :

git_pull() 
{ 
    oldwd="$PWD" 
    cd ~/git 
    for f in */; do (cd "$f"; git pull); done 
    cd "$oldwd" 
} 
+0

@ choroba : 고마워요. – Cyrus