Git 잔디밭 조작하기(1일1커밋 10possible)

김기욱·2021년 3월 9일
2

서론

"1일 1커밋" 은 이제 개발자들 사이에서는 "매일 스쿼트 100회"처럼 개발자 역량상승을 위해서는 일상적인 루틴으로 공용어처럼 언급되는 문장이 되어버렸습니다. 하지만 학습을 하든, 현직에서 개발업무를 하든 습관적으로 remote repository(원격저장소)에 커밋로그를 매일 남기는게 쉽지는 않는 이야기입니다.

코드 진행이 생각보다 길어지고 커밋하기는 그래서 stash를 해두는 경우도 생길수 있고, 커밋을 하더라도 로컬에서만 놔두고 실제 원격저장소까지 푸시를 안 하는 경우도 있을 수 있고, 그냥 단순하게 까먹을 수도 있죠.

깔끔하게 잔디밭(커밋로그) 관리하는건 그래서 어렵습니다.
탈모도 아니고 듬성듬성난 커밋로그를 보면 이쁘지도 않고, 뭔가 내가 불성실한것 같고 마음이 참 그렇죠. 그래서 이런 커밋로그를 깔끔한 잔디밭으로 만들기 위해 파이썬을 활용해 간단한 코드를 만들어보았습니다.

결과


(꽤나 성실했던 ㄴr..?!)

준비물

Python, Git

코드

import os
import time
from datetime import datetime, timedelta

# 현재시간 기준 날짜
time2 = datetime.now()

for i in range(365):
    # 날짜 변수
    what_day = (time2 - timedelta(days=i)).strftime('%a %b %d %H:%M:%S %Y')

    # 텍스트파일 작성
    f = open("/경/로/를/써주세요/파일명.txt", 'w')
    f.write(f'{i}')
    f.close

    # 깃 프로세스 진행(깃 Add+Commit -> 날짜 수정 -> 깃 푸시)
    os.system(f'git commit -am "오토 깃 테스트{i}"')
    os.system(
        f'git commit --amend --no-edit --date "{what_day} +0900T"')
    os.system(f'git push origin main')

    print(f'{i + 1}회차 완료되었음')

코드는 매우 간단합니다. 핵심은 os.system을 통해 CLI 명령어 입력을 파이썬이 하게끔하면 됩니다. 로그를 하나만들고 현재시점으로 등록된 날짜를 i(for loop 인덱스)씩 계속 돌려가며 과거의 깃 로그를 채워나가는 코드입니다.

이렇게 파이썬을 활용해 '인조잔디밭' 관리 잘 하시길 바랍니다 😄

profile
어려운 것은 없다, 다만 아직 익숙치않을뿐이다.

1개의 댓글

comment-user-thumbnail
2021년 6월 17일

주작이지만 멋있어

답글 달기