if know_GIT == True:

4/19, 4/22 총 2일에 걸쳐 GIT에 대해 배우는 시간을 가졌습니다. 처음엔 CMD창과 같은 비주얼이 익숙치 않아서 거부감이 들었습니다. 제가 유일하게 CMD창에 입력하는 것이라곤 "ipconfig -all"밖에 없었던지라... 그래도 왜 전세계적으로 GIT을 사용하게 되었는지 와닿더라고요. 버전 관리로 전회사에서 제가 개인적으로 한 방식은 월별로 폴더를 만들고 월별 폴더에 나온 파일은 최종버전만을 월별 폴더 안에 각 날짜 폴더를 만들어서 아래와 같이 저장을 했습니다.

1월
2월
3월
4월 => 최종파일만 꺼내두기!

0401
0402
...
0426

오늘할일.hwp
...

이 방법의 장점은 내가 뭘했는지 상사에게 어필할 수 있다!였고 단점은 월급루팡이 힘들다! 시간이 지나면 파일을 찾기가 쉽지 않다란 겁니다. 거기에 이 방법으로 힘든 것이 설계도면을 만들 때 였습니다. 아무래도 파일의 크기가 크기에 여러개의 복사본을 만드는 것이 힘들고 중요한 기점에는 복사본을 만들기는 하지만 결국 복사된 기점에서의 파일을 찾는 건 저의 몫이란 것이었습니다.
이러니 저러니 해도 이런 방식으로 실 업무에 투입된 이후로 1년 이상이 쌓이니 양이 너무 많아져서 파일 하나 찾는데만 10분을 쓴적도 있었습니다.

GIT?

특징

GIT은 분산형 버전관리 시스템(Distributed Version Control System)으로 버전관리 시스템 중 압도적 1등입니다(무려 95%이상!). GIT의 특징으로는 다음과 같습니다.

  • 단순한 구조와 빠른 속도
  • 분산형 저장소 지원
  • 비선형적 개발(수천개의 Branch) 가능

장점

또한 여러 장점을 가지고 있는데 장점은 다음과 같습니다.

  • 소스코드 주고받기 없이 동시작업이 가능해져 생산성이 증가
  • 수정내용은 commit 단위로 관리, 배포 뿐 아니라 원하는 시점으로 Checkout 가능
  • 새로운 기능 추가는 Branch로 개발하여 편안한 실험이 가능하며, 성공적으로 개발이 완료되면 Merge하여 반영
  • 인터넷이 연결되지 않아도 개발 가능

구조

GIT의 구조는 크게 Local과 Remote로 나눠집니다. 혼자 작업을 하거나 인터넷에 저장하지 않는다면 Local 단위에서 모두 해결되지만 이를 다른 사람에게 공유하고 공유 받기 위해서는 Remote Repository를 통해 이루어집니다. 아래의 그림과 같은 구조로 이루어져 있습니다.

저는 여기까지 들었을 때에도 딱히 이해가 가지 않았습니다. 아무래도 처음 보는 시스템이고 당장 python도 제대로 못하는거 같은데 이걸 먼저 해야하나? 라는 생각이 들었습니다. 백문이 불여일견이라고 한번 하자마자 왜 배워야 하고 지금부터 배워서 익숙해져야 하는지 알게 되었습니다.

GIT을 써보자!

Before We START

1. Download

GIT을 쓰기 위해서 먼저 GIT을 다운로드 받아야 겠죠? GOOGLE에 "GIT 다운"이라 검색하면 맨 처음으로 뜨는 사이트가 GIT 공식 다운로드 사이트입니다.

https://git-scm.com/downloads

위의 주소로 들어가면 WIN, MAC, Linux/Unix 3가지 운영체제에 따른 다운로드 방법이 있습니다. 저는 WIN기반 컴퓨터를 사용해서 "git for Windows"를 다운받았습니다.

2. GitHub 가입

이건 Git의 Remote를 연습하기 위해서 가입해 Remote Repository를 만들어 주는 겁니다. 거기에 본인의 user name이 있고 이걸 Git Bash 실행 후 입력해야 GitHub를 통해 git push, git pull이 가능해 집니다.

Git Bash

제가 가장 당황한 건 Git을 다운로드 받았는데 깔리는 프로그램이 엄청 많았다는 겁니다. 그래서 뭘 실행해야 Git을 사용할 수 있는 건가부터가 난관이었죠... 무려 5개가 같은 아이콘

결론부터 말하면 Git Bash를 실행시키면 됩니다. Git Bash를 실행시키면 아래와 같은 화면이 뜹니다.

이후 git config를 진행해야 합니다.

$ git config --global user.name “{username}# GitHub와 같은 username
$ git config --global user.email “{emailaddr}# GitHub와 같은 email
$ git config --global core.editor “vim” # git에서 사용할 주요 편집 프로그램
$ git config --global core.pager “cat” # git에서 사용할 주요 파일 뷰어
$ git config --list # 제대로 적용되었는 확인용

여기까지 했다면 Git을 시작할 수 있습니다!

후일담

Git을 써보니 버전관리에 있어서 신세계였습니다.
특히 이 수업을 듣기 전 그룹 프로젝트로 python 파일 8개 정도를 만들어서 실행시키고 만들다보니 원본 파일에서 수정하고 안되면 ctrl+Z 신공으로 되돌리길 몇번 하니 너무 힘들었거든요.
원래하는 것처럼 버전 관리를 하는 것도 생각했지만 잦은 수정으로 1시간에만 버전이 3~4개 나올 정도로 정리가 되지 않은 상태에서 진행하고 있었기에 버전관리에 자신이 없어서 최신버전만 남겨두는 것으로 진행했습니다.
만약 Git을 알았다면 여러 버전을 만들어서 좀 더 완성도 있는 프로젝트가 되지 않았을까 생각이 계속 들었습니다.

출처 : Upstage AI Lab 3기 GIT 최우영 강사님 PPT

0개의 댓글