목차
0. Git?
깃이 뭐지?
기본적으로 Git은 버전 관리 툴 입니다. 내 로컬(데스크탑 등)에서 작업한 결과물을 원격 저장소에 보관(save/load)하는 개념이에요. 그럼 이런 의문이 생깁니다. 저장소가 버전 관리랑 무슨 관련이 있지?
코드로 예를 들어 봅시다. 하나의 화면을 만드는데에 몇 만 줄의 코드가 쓰이는데, 팀 단위로 하나의 코드를 여러 명이 작성하다보니 고민이 생깁니다.
- 어떤 팀원이 어떤 파일의 몇 번째줄의 어떤 코드를 작성했는지를 알 방법이 없습니다.
- 코드에 변경 사항이 생길때마다 로컬에 저장하고, 백업본을 만들어, 팀원들에게 드래그 앤 드랍으로 공유합니다.
- 내가 작성한 부분과 팀원이 작성한 부분이 겹쳐서 작업물이 중복되거나 꼬입니다. 혹은 팀원이 작성한 코드를 내가 삭제해버립니다.
- 기획이 변경되어 기존에 작성했던 코드의 일부는 살리고, 일부는 수정하거나 버려야합니다.
- 머리가 아프죠? 하지만 로컬 기반의 버전 관리는 너무 원시적이고 번거로워요.
그래서 Git이 출현합니다. Git을 사용해 원격 저장소(클라우드)에 코드를 저장하고, 변경 사항이 생길때마다 하나의 "버전"으로 기록해 누가, 언제, 무엇을, 어디서, 왜 했는지를 명시합니다. 다른 버전과 무엇이 다른지도 알 수 있고, 어디서 버전 충돌이 났는지도 알 수 있으며, 어떤 버전을 서비스로 배포할지도 쉽게 결정할 수 있습니다.
1. Github는?
- 그럼 Github는 뭘까요? Git이 출현한 이유는 알겠는데, Github는 왜 출현했을까요? Git - Github, 이 뗄 수 없는 관계는 왜 생긴걸까요?
- 이건 여러분이 조사해봅시다. CLI라는 키워드도 함께 찾았다면 너무 잘했어요!
- 직접 만지작해볼까요?
- 지난 "1. 마크다운과 옵시디언 사용해보기" 커리큘럼에서 계정이 생성됐다면 "repo" 라는 것도 생성해봅시다. 레포의 이름은 일단 test로 해볼까요? 레포가 무엇인지, 네이밍은 어떤 식으로 하는지, 스스로 알아보는 것이 제 의도라는 걸 똑똑한 여러분은 이미 예상하셨겠죠?
- 자! 레포가 생성됐으면 다음과 같은 화면이 보일겁니다. https 링크를 복사해주세요.

- 터미널을 열어서,
cd ~/Desktop,git clone {링크}명령어를 각각 차례 대로 입력하고 엔터를 쳐주세요. 터미널이 뭐고, 명령어는 어떻게 입력해? → AI에게 물어보시면 쉽게 알려줄겁니다. - 데스크탑에 clone 된 test 깃 레포(== 폴더)가 보일겁니다. 아무 파일이나 넣어보세요. 비밀이 있는 파일은 안돼요!
- 깃허브에 업로드해봅시다. 열려있는 터미널에 그대로
cd test명령어를 입력하고 엔터를 쳐주세요. - 다시, 터미널에
git add,git commit,git push의 명령어를 입력합니다. - 이제 데스크탑의 test 폴더를 통째로 지워버려요.
- 걱정 없죠? 다시 github에서 파일을 로컬로 가져오세요. 터미널에서
git clone,git status의 과정을 거쳐야해요.
성공했다면 끝!
2. 여기서 끝이 아니다!
git, github는 앞으로 우리가 할 모든 스터디에서 계속 쓰일거예요! 나머지 공부도 적극 추천한답니다. 특히, 오늘 언급된 git 명령어는 꼭 조사하셔야해요! 최대 10분만 조사하고 끝. 직접 써보면서 익숙해지는 게 제일이니 오늘은 여기까지 합시다. 터미널에 대해서는 뒤에서 또 다룰거니 이정도로 괜찮아요.
고생하셨어요! 😽✨