지난 한 달동안 학부연구생으로 있으면서 제대로 된 코드를 건드려볼 기회가 있었습니다.
안타깝게도 그때는 깃허브Github를 쓰지 않았고, 필요성을 잘 느끼지 못했습니다.
그렇지만 코드는 고쳐야겠고, 버전별로 제가 작성한 부분을 저장하기는 해야겠습니다.
그렇다면 가장 단순한 방법이 뭐가 있을까요?
바로 '다른 이름으로 저장하기'입니다.
저를 포함한 아직 프로그래밍이 익숙하지 않은 분 중에는 저렇게 저장하는 경우가 있을 것 같습니다.
파일 이름을 날짜별로, 아니면 특징별로 다르게 붙여서 저장하는 방식이죠.
결론 : 절대 저렇게 하지 마세요.
왜 단순히 파일 이름을 다르게 해서 저장하면 안되고 버전 관리 시스템을 써야하는지
경험을 통해서 뼈저리게 깨달은 이유는 다음과 같습니다.
1. 각종 모듈과 파일이 얽히고 설킨 프로그램을 일일이 저장?
단순한 학교 과제, 연습 문제 풀이를 다루는 코드는 하나의 파일로도 충분합니다.
그렇지만 딥러닝 모델을 학습시킨다든가, 저처럼 연구실에서 진행하는 프로그램을 보면 결코 단일 파일로 이루어져 있지 않습니다.
한 소스코드 파일 내에서만 코드를 실행하는 것이 아니라 import하는 다른 모듈, 패키지가 많습니다.
이런 파일들을 수정할 때마다 일일이 다른 이름으로 저장을 하려면 매우 번거롭겠죠?
2. 다른 사람과 공유, 협업 X
코드를 혼자 짜더라도, 다른 사람에게 검토를 받거나 아니면 나중에 가서 같이 코드를 작성해야 할 수 있습니다.
그런데 로컬 서버에 파일을 저장해두면 다른 사람과 협업할 때 매번 그 사람에게 파일을 전송해야 합니다. 반대로 다른 사람이 수정한 코드를 제가 받아볼 때도 전송 받아서, 제 코드와 어떤 부분이 바뀌었는지 직접 눈으로 읽어가며 확인해야겠죠.
3. 파일 이름의 한계
파일 이름만 확인해서는 제가 코드에 어떤 부분을 수정하고, 어떤 방향으로 개선했는지 알기가 어렵습니다. 자칫해서는 파일 이름이 길어질 텐데, 보기가 정말 지저분해질 거고 읽기도 힘들 거구요.
4. Github = 버전 기록 + 백업(원격 서버!)
깃허브는 매 버전마다 수정한 코드를 원격 서버에 저장하기 때문에 혹시나 로컬에 저장했던 파일이 날아가도 깃허브에서 다운로드 받아 다시 시작하면 됩니다.
즉 깃허브는 버전 별로 어느 부분이 수정됐는지 확인할 수 있고 원하는 버전으로 돌아가서 다시 시작할 수도 있고, 당연히 원격 서버에 안전하게 백업도 해줍니다.
하지만 다른 이름으로 파일을 저장해봤자 결국 로컬 디렉토리에 파일을 저장하는 건 똑같습니다. 만약 로컬 디렉토리가 날아가거나 접근이 막히면 파일을 쓸 수 없습니다.
5. Github를 통해 내 결과물을 입증하기
무엇보다 깃허브에 제가 작성한 코드를 올리면 제가 코드에 들인 노력을 입증하는 셈입니다.
혼자서 코드를 열심히 작성해봤자 남들에게 보여주지 않으면 아무 소용이 없습니다. 알아주지 않을 테니까요.
서툰 프로그램이라도 먼저 깃허브에 커밋하고, 부지런히 고쳐나가면 깃허브에 (흔히 말하는 '잔디 심기') 기록이 남아 그 자체가 눈에 보이는 결과물, 포트폴리오가 됩니다.
'2023년 이전 > 깃과 버전 관리' 카테고리의 다른 글
git 브랜치 이름 바꾸기(로컬 & 리모트 저장소) (0) | 2022.06.28 |
---|---|
깃허브에 필요한 SSH 키 만들기 (0) | 2022.02.18 |
Git 원격 저장소 연결 및 업로드(git remote add, git push, git pull) (0) | 2022.02.11 |
깃허브Github를 SSH로 접속하기(feat. permission denied error) (0) | 2022.02.11 |
깃허브Github에서 특정 파일만 다운로드 받는 법(feat. wget) (0) | 2022.02.02 |