개발하는 일상

파이썬으로 여러 깃헙 repo 한 번에 받기(python, github) 본문

개발 간단 팁

파이썬으로 여러 깃헙 repo 한 번에 받기(python, github)

롯데빙빙바 2020. 10. 4. 17:54

어떻게 만들게 되었나

저는 코딩과 관련된 교육을 하며, gitlab을 통해 학생들의 과제를 관리하고 있습니다. 학생 수가 많을 수록 과제를 하나하나 clone하거나 pull하는 것이 굉장히 번거로운 일이 됩니다. 그래서 간단한 파이썬 코드를 통해 이 작업을 자동화하였습니다.

파이썬 코드

실제로는 gitlab을 통해 관리하지만, 예시를 위해 github에 맞게 코드를 수정하였습니다.

import sys
import os
from utils import get_students
# 따로 만들어 둔 학생들 이름과 github username 리스트입니다.

DIR_NAME = sys.argv[1]
  # 과제 repo 이름이 됩니다. 학생들에게 미리 통일해서 제출하도록 말해두었습니다. 
  # 터미널에서 인자로 넘겨주는 방식으로 구현하였습니다.

for name, github_username in get_students():
    GITHUB_URL = 'https://github.com/{github_username}/{DIR_NAME}.git'
    print(f'========== {name} ==========')
    os.system(f'git clone {GITHUB_URL} ./{DIR_NAME}/{name}')
    # os.system을 통해 터미널에 명령어를 입력한 것처럼 할 수 있습니다.
    print()

실행 결과

만약 이번 과제 이름이 homework였다면, 현재 폴더에 아래 사진과 같은 형식으로 폴더가 만들어지게 됩니다.

코드 실행 결과 예시

 

Comments