초심을 되찾고자 기술 블로그로 돌아가기로 했습니다! 1년 반 정도 IT 도서 서평만 올렸는데 학부 시절 누가 제가 알려줬으면 했던 기술들을 연재해보려고 합니다. 해당 프로젝트의 첫 아이템인 Git입니다.

이미 많은 양질의 Git, Github 관련 글들이 인터넷에 존재하지만 제가 겪었던 시행착오를 나누면서 제 블로그를 보시는 분들에게 도움이 되었으면 합니다.

대학시절 팀 프로젝트, 동아리 등의 활동을 하면서 제일 먼저 세팅하고 필요성을 역설한 개발도구가 Git이었습니다. 하지만 많은 경우 시작하는 시점에선 Git의 필요성조차 느끼지 못하는 친구들이 많았습니다. 그래도 강제로 가르쳐서 commit, pull, push 만 사용 할 수 있게 만들어 프로젝트를 진행하면 Git의 필요성을 본인들이 간증하는 모습을 볼 수 있었습니다. 프로젝트가 꼬여서 다시 할 뻔 한걸 살렸거든요

git1

Git은 프로그래밍 커뮤니티에 한 번쯤은 본적 있을 위 짤방에 등장할 정도로 약간은 고인물의 테크닉으로 인식되는 경우가 있는것 같습니다. 들어만 봤지 그게 뭔지는 모르겠고, 터미널에서 뭔가 막 해서 어려워 보인다 등의 이야기를 많이 들었습니다. 하지만 단언컨데 위 기술들 중 가장 진입장벽이 낮고 쉽게 기본기를 익혀 사용할 수 도구입니다.

Git버전 관리 도구입니다. 올바른 설명이 아닐 수도 있지만 게임에 비유해 보겠습니다. 보스를 잡으러 가면서 여러 세이브 포인트를 만드는 과정입니다. 스테이지를 클리어 할 때마다 저장하고 다음 단계로 넘어가듯 기능을 하나씩 구현 할때마다 저장을 하고 필요할 경우 해당 세이브 포인트로 돌아가 해당 지점부터 게임을 다시 진행할 수 있습니다. Git은 해당 과정을 코드로 가능하게 해줍니다.

뒤에 자세히 설명하겠지만 add는 이번에 세이브할 내용들을 고르는 역할을 합니다. 내가 원하는 능력치만 이번에 세이브 할 수 있어요. commit은 세이브입니다. 다른 컴퓨터에서 내 캐릭터로 계속 게임을 하고 싶으면 클라우드 저장소에 올려야 겠죠? push로 클라우드에 올리고 pull로 내가 올린 세이브 파일을 가지고 옵니다. 이게 기본적인 Git의 진행과정입니다. Git없이 코드를 작성하고 개발을 하는 것은 세이브없이 게임을 하는 느낌이라고 생각하면 좋을 것 같습니다.

다음 글은 Git이 어떻게 코드와 파일들을 관리하는지 살펴 보겠습니다. 설치 법에 대한 자세한 내용은 다루지 않을 생각입니다. 자세히 다루고 있는 블로그도 많으니 설치는 그 글들 따라해주세요. 버전 업에 따라서 블로그 글도 업데이트를 해줘야 하는데 그럴 자신이 없어서… 사실 계속 Next만 눌러도 괜찮아요. Vim이 뭔지 모르겠거나 Vim은 못 쓰겠다 하시는 분들만 중간에 vim, vscode등 선택하는 곳에서 해당 에디터만 바꿔주시면 됩니다.