본문 바로가기
DevOps

Git & Github

by 뇌 속의 통 2024. 10. 21.

Git이란 도대체 뭘까?

많은 사람들이 코딩을 하다보면 자주 듣는 단어 중 하나로 나도 처음 들었을 땐 정말 이해가 가지 않는 단어 중 하나였다.

 

Git은 뭐고 또 Github는 무엇인가? 그냥 VisualStudio 켜서 코드 뚝딱뚝딱하면 되는거 아닌가?...

 

학원에서 작업하던 작업물을 집에서 하자니 파일을 매번 USB에 담아서 들고 다닐 수도 없거니와 USB가 없어지면 낭패가 된다. 또한 내가 오늘 잘못 작업하며 오류투성이가 되어버렸을때...Ctrl + Z를 눌러서 복구하는 것도 한계가 있다.

이때 차라리 어제 작업한 작업물을 다시 되돌린다면 얼마나 좋을까?

 

Git은 이러한 기능들을 지원해주는 일종의 코드를 관리해주는 시스템이다.

 

좀 더 고급진 단어로 표현을 하자면  분산 버전 관리 시스템(VCS)으로, 소스 코드의 변경 사항을 추적하고 여러 개발자 간의 협업을 지원하는 시스템이다.(ChatGPT 왈)

 

그러면 Github란 무엇일까?

이 Git을 우리가 온라인으로 접근하고 쓸 수 있도록 도와주는 웹 호스팅 서비스이다.

즉 우리가 이런 코드 관리를 온라인에서도 할 수 있도록 해주는 것이다.

(그냥 Git이 싱글플레이 게임이라면 GitHub는 멀티 게임)

 

 

그러면 Git은 어떻게 동작하며 어떻게 써야하는 것일까?

Git은 내 컴퓨터 자체에 Local Repository라고 하는 일종의 저장소를 만들 수 있게 해준다.

이를 이제부터 로컬 저장소라고 하겠다.

 

우리는 코딩을 하고 코딩한 작업물을 이 로컬 저장소에 저장할 수 있다.

저장할때는 내가 어떤작업을 했는가에 대한 Commit(기록)을 남길 수 있어 과거에 작업을 했던 코드 작업물을 불러오거나 해당 버전으로 바꾸는 것도 가능하다.

 

그러나 이는 아쉽게도 온라인이 되지 않아 집에서 작업하던 작업물은 집에만 있으며, 다른 팀원들과 공유도 하기가 어렵다.

이를 보완해주는 것이 바로 Github다.

 

Github는 Remote Repository라고 하는 새로운 개념의 저장소를 만들 수 있게 해주는 데

쉽게 설명하자면 내 바탕화면에 있는 사진은 내 컴퓨터 로컬 저장소에 저장된 것이고 이를 블로그, 이메일 등과 같이 모든 사람들이 보고 다운받고 사용할 수 있도록 원격 저장소에 저장할 수 있게해주는 것이다.

 

그러면 이제 사용하는 방법도 알아보자.

 

Git은 기본적으로 콘솔창을 이용하여 사용한다.

 

이걸 처음 보았을 때 나는 정말 막연하게만 느껴졌다.

이게 뭐지?...검은건 배경이고 하얀건 글자다....

 

나와 같은 사람들이 많았는지 콘솔창을 이용하지 않고 편하게 쓸 수 있도록 다양한 GUI가 존재한다.

GUI : Graph User Interface의 약자로 눈에 더 잘 들어오도록 가시성을 높힌 콘솔창이라고 생각하면 되겠다.

 

하.지.만 오늘 내용만 간단하게 들어본다면 생각보다 이 콘솔창이 무섭지 않다는 걸 알게될테니

GUI가 아닌 Git 콘솔창으로 설명을 하도록 하겠다.

 

이제 Git을 한번 실제로 써보도록 하자.

 

1. Git 설치

 

Git을 쓰기 위해선 당연히 설치를 해야한다.

설치는 Git 홈페이지에 들어가서 설치하면 된다.

귀찮은 사람들을위해 링크를 남겨두도록 하겠다.

https://git-scm.com/

 

Git

 

git-scm.com

 

2. 명령어를 통한 Git Init

Git 설치 후 아무 폴더에서나 마우스 오른쪽을 눌러보면 못 보던 항목들이 추가된 것을 볼 수 있다.

Open Git ~~ 뒤에 내용은 뭔지 모른겠다면 아는 단어만 봐보자 Open(열다) Git 뭔지 모르겠지만 Git을 연다는 말은 알 수 있다. GUI를 누르면 앞서 설명했던 좀 더 유저 친화적이고 보기 좋은 창이 나오고 Bash를 누르면 아까 봤던 검은색 콘솔창이 뜨는 것을 볼 수 있다.

 

3. 코딩

이제 실제로 작업을 하면 된다 내가 원하는 폴더에 들어가서 Visual Studio를 이용하여 코딩을 하자.

 

4. Git Ingnore File 생성

코딩이 다 끝났다면 우선 로컬 저장소를 만들어 저장해야한다.

단, 우리가 작업한 모든 파일을 올리게 되면 속도도 오래걸리고 너무 큰 용량의 경우는 올라가지 않는다.

 

* Git

  • 리포지토리 크기: 각 GitHub 리포지토리는 최대 1GB까지
  • 파일 크기 제한: 개별 파일의 최대 크기는 100MB

이를 초과하면 비용을 내야만 가능하니 가능한 맞춰서 보내는 게 좋다.

 

https://www.toptal.com/developers/gitignore

 

gitignore.io

Create useful .gitignore files for your project

www.toptal.com

 

이제 위 사이트에 접속하여 내가 작업한 내용을 검색창에 검색해주면 해당 프로젝트 작업이 굳이 올리지 않아도 되는 파일들을 알려주게 된다.

 

예시) Unreal, Unity, VisualStudio 등등

 

 

그럼 이제 이걸 복사해서 내가 코딩 작업한 폴더 안에 .gitignore.txt 메모장 파일을 만들고 그 안에 그대로 붙여넣기 해주자.

프로젝트에서 굳이 필요하지 않는 데이터는 알아서 제외하도록 설정한 것이다.

 

 

5. Git Local Repository 생성

 

로컬 저장소를 만드는 방법은 아주 간단하다.

프로젝트가 존재하는 폴더 안에서 Bash를 눌러서 콘솔창을 키고 다음과 같이 명령어를 순차적으로 입력해준다.

 

1) git init

깃을 초기화

 

2) git add .

깃을 로컬 저장소에 저장

 

3) git commit -m "작업한 내용"

해당 버전의 코멘트를 남김.

 

그러면 우리는 로컬 저장소에 우리가 작업한 내용물을 어떤 작업을 했는지까지 기재하여 저장하게 되었다.

 

6. Remote Repository에 저장

 

이제 Github를 이용해 원격 저장소에 작업한 코드를 올려보도록 하자.

앞서 설명한 것과 마찬가지로 Github를 통해 원격 저장소에 저장해놓는다면 인터넷이 있는 어디에서든지 내가 작업한 작업물을 받아서 이어서 작업이 가능해진다.

 

Git Hub에 가입하고 내 New를 눌러 새로운 원격 저장소를 만들어준다.

 

 

Repository name을 내가 원하는 것으로 설정하고 Public, Private을 통해 공개 여부를 설정한다.

add.gitignore에서 Unity와 같이 작업한 엔진 등을 넣어서 설정할 수도 있지만 우리는 이미 .gitignore.txt 파일을 생성했기 때문에 알아서 필요없는 파일들은 올라가지 않을 것이다.

 

이제 Create repository를 눌러서 새로운 원격 저장소를 만들어주자.

 

다시 git bash를 열어주고 아래와 같이 명령어를 넣어주면 최종적으로 원격저장소와도 연결된 것을 볼 수 있다.

 

git remote add origin (생성된 원격저장소 주소)