CS

모든 프로젝트 관리의 기본, GIT & GitHub 파헤치기

jjin502 2023. 7. 30. 00:43

개요

필자의 동생은 곧 고등학교 입학을 앞두고 있는데, 나와 같은 고등학교에 입학할 예정이다. 학교에서 개발을 배우게 될 예정이긴 하지만, 이제 막 개발을 시작하는 단계이기 때문에 어떠한 베이스 지식도 없다. 그래서 동생에게 가장 공통적으로 많이 쓰이면서도 기본적인 GIT 사용법과 용어들에 대해 알려주기로 했고, 동생 뿐만 아니라 이제 개발을 시작한 분들에게도 조금이나마 도움이 되고자 이 글을 작성하게 되었다.

 

GIT이란?

컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 스냅샷 스트림 기반의 분산 버전 관리 시스템이다. 
- 위키백과

 

여기서 스냅샷 스트립 기반이라는 말을 제외하고 의미를 정리해보면, GIT은 변경사항 즉, 버전을 관리해주는 시스템을 말한다.

 

GIT을 사용해야하는 이유

여러가지 이유가 있겠지만, 내가 Git을 사용하는 이유는 세가지로 정리할 수 있을 것 같다.

  1. 가장 범용적으로 쓰이는 분산 관리 저장소이다.
  2. 그렇기 때문에 관련된 자료들이 많다.
  3. 코드의 변화를 가장 쉽게 파악할 수 있다.

대부분 개발자들에게 코드 어디에 저장하냐고 묻는다면, 아마 git이라고 이야기할 것이다. 그만큼 가장 범용적으로 쓰이고 있고, 또 그렇기 때문에 자료가 많아서 오류가 발생했을 때 해결하기 쉽다. 또 git을 통해 코드를 관리하면, 그 변화를 가장 쉽게 파악할 수 있다. 그래서 우리는 git을 사용해야한다.

Git & Github

간혹 GIT과 Github의 차이가 무엇인지 몰라 헷갈려하는 사람이 있다. GIT은 분산 시스템 그 자체고, Github는 이를 웹 페이지로 볼 수 있도록 만든것이다. Gitlab도 있다고 하지만, 이에대해 자세한 것은 모르니 생략하도록하고, 오늘은 이 Github를 어떻게 활용할 지에 대해 정리해보려고 한다.

Github 활용법

프로젝트에서 코드를 작성하고 그 코드를 저장소에 올려 볼 것이다. 그 전에 깃허브 회원가입과 로그인이 되어있다는 전제하에 진행된다.

 

Repository 생성

깃허브에 접속해 repository 탭을 들어갑니다. 오른쪽에 초록색 'New'버튼을 클릭해주세요.

 

그리고 아래와 같은 페이지로 접속됩니다. 이름과 repository공개 여부를 체크해줍니다.

 

생성한 repository 주소를 복사해줍니다.

 

이렇게 하면 준비는 완료되었습니다!

프로젝트 생성

자신의 프로젝트를 생성하고 실행 해주세요. 저 같은 경우는 리액트를 활용했습니다. 

아래 명령어를 통해 초기화 해주세요.

git init

 

 

아까 복사해준 주소를 활용해 깃 저장소와 연결해줍니다. 

git remote add origin [저장소 주소]

 

저는 브랜치 명을 main으로 바꿔주기 위해 아래 명령어도 사용했습니다.

git branch -m main

 

그리고 변경사항이 이렇게 생겼을 때, 아래와 같이 명령어를 작성해주세요.

git add .

 

다음으로 원하는 커밋 메세지를 작성해줍니다. 아래처럼요!

git commit -m "원하는 메세지 내용"

 

마지막으로 push 명령어를 입력하면 아래와 같이 성공적으로 깃 저장소에 코드를 올릴 수 있습니다.

 

git push origin main

 

Git으로 협업하기 (ft. Pull Request, Merge, Pull Origin)

깃은 협업 관점에서도 굉장히 편리하고 유용하게 쓰이고 있습니다. 다른 사람과 기능을 분배해서 개발할 때, 혹은 다른 사람의 코드를 더 나은 방향으로 만들때 등.. 편리하게 해줍니다. 협업할 때 자주 쓰이는 용어를 정리해보도록합시다.

Pull Request

Pull Request는 다른 사람이 새로운 브랜치를 만들고 그 곳에서 작성한 코드를 합치기 위한 요청을 의미합니다. Pull Request를 통해 우리는 충돌이 일어나는 것을 방지할 수 있습니다.

Merge

Merge는 Pull Request를 통해 요청 받은 코드를 합치는 과정입니다. 이 과정에서 코드가 꼬이지 않게 조심해야합니다.

 

Pull Origin

Pull Origin은 Merge한 코드에 대한 반영사항을 로컬에도 똑같이 동기화해주는 것입니다. 이를 통해서 하나의 프로젝트를 완성할 수 있습니다.

 

+코드리뷰

Pull Request를 날리고 나면 Open을 하게 됩니다. 그렇게 되면 다른 사람들이 내가 작성한 코드를 볼 수 있고, 코드가 더 나은 방향으로 작성될 수 있도록 코드리뷰를 진행하죠. 저 또한 팀 프로젝트를 하면서 코드리뷰를 진행 중입니다.

결론

깃허브를 통해 프로젝트를 관리하면 여러 이유로 편리합니다. 아직 깃이 익숙하지 않으시다면, GitDesktop을 사용하시는 것도 추천합니다. 변경사항이 눈에 보이도록 시각화가 잘 되어있어 사용하기에 편리합니다.