🏛️ [Archive] 개발 프로젝트 & 회고/GitHub 관리 도구 🛠️

GitHub를 왜 사용하는데요?

히주 2024. 12. 22. 21:11

 

 

 


 

학교에서 과제를 하거나 프로젝트를 하면 파일들이 많이 쌓이고 '완성본'에서 수정을 하게 되면 '최종'이었던 파일에 '최종1', '최종2', '최종3', '진짜최종3', '찐최종3', '찐찐찐최종3_진짜_마지막' ... 이런 식으로 이상한 수식어? 들이 붙으면서 많이 짜치게 결과물들을 만들어냈던 기억들이 있으실 거예요.

저도 과거에 이랬던 기억이 있었지만, 제대로 정리하는 방법을 배우고 나서 최종본에서 수정되더라도 훨씬 깔끔하게 정리를 할 수 있었어요.

 

이와 같이 코드를 여러 번 수정해야 하는 개발자들에게도 정리해주는 버전 관리(형상 관리) 도구가 필요해요!

딱히 없어도 되지만 코드를 정리하는 방법을 알면 추후에 수정해야하는 부분 등의 이슈가 생겼을 때 빠르게 파악해서 좀 더 수월하고 깔끔히 정리해 줄 수 있고 그만큼 시간을 줄일 수 있는 거예요.

 

 

 

🔧 그러면 개발자들은 어떤 버전 관리(형상 관리) 도구 사용해서 코드를 정리할까요??

 

하지만 모든 100이라면 100명의 개발자들이 GitHub를 사용하는 것은 아니에요!

다른 다양한 관리도구가 있지만 GitHub가 그중에 가장 사용하기 쉽고 사용자들이 많기 때문에 GitHub를 사용합니다.

과거에 RCS, CVS, SVN 등의 다양한 관리 도구가 있었지만 Git의 분산형 관리 모델이 등장하면서 현재는 Git이 업계를 대표하는 도구가 된 것입니다.

 

또한  단순히 Repository 기능 외에도 소프트웨어 개발 관련 다양한 분야에 서비스를 제공해 줄 뿐만이 아니라 다양한 서비스와의 연계도 용이해서 많은 사람들이 사용하고 있는 거대한? 도구입니다.

 

이렇게 비유를 들어도 될진 모르겠지만,

많은 한국 사람들은 대부분 카카오톡을 사용하잖아요? 그렇지만 문자를 할 수 있는 수단이 카카오톡만 있는 것은 아니지만 그만큼 많은 사람들이 사용하고 서비스도 잘 되어 있기 때문에 사용하는 겁니다. 이것과 비슷하다고 이해해 주시면 돼요!

 


🤔 Git? GitHub?

그러면 Git은 뭐고 GitHub는 무엇일까요?

 

Git은 소스 관리, 버전 관리 툴입니다.

로컬에서 동작하며 버전을 관리해 주는 형상 관리 도구입니다.

 

GitHub는 repository라고 보시면 됩니다.

로컬에 있는 것이 아닌 클라우드에 있는 저장소 공간인 것입니다.

 


 

그렇다면 Git를 사용하기 위해 어느 정도의 준비를 해보도록 합시다.

1. GitHub 계정 생성

먼저 우리가 사용해 줄 GitHub의 계정을 만들어야 합니다.

아래에서 깃허브의 계정 생성을 해주시면 됩니다.

 

GitHub · Build and ship software on a single, collaborative platform

Join the world's most widely adopted, AI-powered developer platform where millions of developers, businesses, and the largest open source community build software that advances humanity.

github.com

 

 

2. 사용하는 IDE(Integrated Development Environment) 또는 Code Editor와 Git 연동

여기서 저는 VScode를 사용하며 Git과 연동해 주었습니다.

(Window 환경과 Ubuntu 환경 둘 다 연동해 주었어요)

 

IDE? Code Editor?
- IDE코드를 작성, 디버깅, 실행할 수 있는 통합 개발 환경입니다.
  예로는 Visual Studio, PyCharm, Eclipse 등이 있어요.
- 코드 에디터소스 코드를 편집하는 데 사용되는 간단한 도구입니다.
   예로는 VS code, Sublime Text, JetBrains Fleet 등이 있어요.
   IDE보다는 기능이 적지만, 가볍고 빠르게 사용할 수 있어 대부분 개발자분들이 많이 사용하시는 것 같습니다.

 

연동 방법은 아직 만들지 못해서... 다른... 만들어야 할 내용이 많기 때문에 아래 저의 블로그 글을 통해서나  구글링을 통해서 연동하시는 것을 추천드립니다. 요즘... 정보들이 워낙 많이 정리되어져 있기 때문에 정리도 깔끔히 잘 되어 있을 겁니다... 언젠간 준비해 돌아오겠습니다.

 

 

3. Repository 생성

Repository는 코드를 저장하는 저장소입니다.

 

쉽게 말하자면 학교 과제를 하면 자료조사를 해서 한글파일로 정리해서 PPT를 만들어주는데 이때 이 내용들을 바탕화면에 아무렇게나 두면 헷갈리고 잊어버리기 십상이지만  'OO과목_과제_파일'을 만들어 넣어두면 관리하기가 한 층 수월해지는데 이때 'OO과목_과제_파일'이 Repository인 것입니다.

 

 

 


 

 

그렇다면 Git의 작업 흐름은 어떻게 진행되는 것일까요??

working directory, staging area, local repository, remote repository 이렇게 4군데 영역에서 내 코드 파일이 이동하며 관리가 됩니다. (다음 글에서 이 내용에 대해서 깊이 있게 들고 오겠습니다.)

 

GitHub의 사용법에 대해서 좀 더 자세히 배우시길 원하신다면 아래 블로그의 글을 읽어보시고 추천하는 강의를 완강해보시는 걸 추천드립니다.

 

[NAVER BOOST CORCE: Github으로 따라하는 버전 관리] - 완강 후기 및 리뷰

8월 31일부터 9월 4일까지 NAVER BOOST CORCE의 GitHub를 활용한 버전 관리 코스를 수료했습니다!(원래라면 하루 만에 다 끝낼 수 있는 분량이었고 이틀 안으로 끝낼 계획이었지만 개인적인 일정 이슈로

yiheeju.tistory.com