블로그

뉴비를 위한 Github 사용법 총정리

뉴비를 위한 Github 사용법 총정리

How to use GitHub

아이디어가 있나요?

Hitek 언제나 당신과 동행할 준비가 되어있습니다.​

개발판에 첫발을 들인 당신. 코딩은 어찌어찌 하는데, ‘깃허브’라는 단어만 나오면 갑자기 어깨가 움츠러드는가? 걱정 마. 당신만 그런 게 아니다. 이 지긋지긋한 버전 관리 시스템은 마치 위스키 바의 첫 입문처럼—처음엔 텁텁하고 어렵게만 느껴지지만, 그 규칙만 알면 인생에서 가장 강력한 무기가 되어준다. 오늘은 그 어두운 밤의 문을 활짝 열어젖힐, 뉴비를 위한 Github 사용법이다.

이 글을 다 읽고 나면, 당신은 더 이상 터미널 앞에서 벌벌 떠는 초보가 아니다. ‘잘 모르니까’ 남의 코드만 베끼던 시절은 끝났다. 지금부터 우리는 같은 무대 위에서, 가장 쿨한 방식으로 협업의 세계에 입문한다.

1. Git과 Github: 그냥 같은 거 아냐?

대부분의 뉴비가 가장 먼저 하는 질문이다. “깃(Git)이랑 깃허브(Github)는 뭐가 달라요?” 이 질문에 “그냥 같은 거예요”라고 답하는 사람이 있다면, 그 사람 옆에서 맥주를 마시지 마라. 둘은 전혀 다른 존재다.

Git은 2005년, 리눅스의 아버지 리누스 토르발즈가 단 2주 만에 뚝딱 만들어낸 분산 버전 관리 시스템이다. 이 핀란드 출신의 천재는 자기가 쓰던 도구(BitKeeper)가 갑자기 유료로 돌아서자, 화가 나서 직접 만들어버렸다. 마치 “네가 안 해? 내가 할게”라고 말하며 2주 만에 지옥에서 온 도구를 꺼내든 셈이다. Git은 우리 컴퓨터(로컬) 안에서 코드의 모든 순간을 기록한다. 마치 타임머신처럼, 과거의 순간으로 자유자재로 이동할 수 있게 해주는 강력한 엔진이다.

Github는 이 Git 엔진을 얹어서 운행하는 클라우드 기반의 원격 저장소다. 쉽게 말해, 내 컴퓨터에만 있는 소중한 코드들을 인터넷상의 서버에 백업해두고, 전 세계 개발자들과 공유하고 협업할 수 있게 만든 공간이다.

비유하자면, Git은 ‘시간을 조종하는 장치’ 이고, Github는 그 장치로 만든 멋진 작품을 전 세계에 전시하는 ‘갤러리’ 인 셈이다.

2. 헷갈리는 용어들, 싹 정리해드립니다

개발자들은 은어를 좋아한다. 마치 패션 피플들이 ‘플리츠’니 ‘실루엣’이니 하며 수다 떨 듯, 깃허브에도 알아들을 수 없는 단어가 넘쳐난다. 이 기본기를 무시하면 나중에 Pull Request 하나 제대로 못 올리고 한 시간 동안 헤맬 수 있다. 지금 바로 정리하자.

용어 영문 핵심 정리 (뉴비의 언어)
저장소 Repository 프로젝트 파일이 보관되는 창고다. 보통 하나의 프로젝트 단위로 생성한다.
로컬 / 원격 Local / Remote 내 컴퓨터깃허브 서버의 차이. 내 컴퓨터에서 작업하고, 결과물을 서버로 밀어 넣는 구조다.
커밋 Commit 코드의 변경 이력을 하나의 스냅샷으로 저장하는 행위. “이때까지 한 작업을 ‘회원가입 기능 추가’라는 이름으로 저장한다!”고 생각하면 된다.
푸시 / 풀 Push / Pull 밀어 넣기(Push) : 내 컴퓨터의 커밋을 깃허브 서버에 업로드. 당겨 오기(Pull) : 반대로 서버의 최신 코드를 내 컴퓨터로 가져옴.
브랜치 Branch 분기점, 혹은 평행 우주. 메인 코드에는 영향을 주지 않고, 나만의 공간에서 자유롭게 실험할 수 있는 공간이다.

3. 가장 간결한 워크플로우: 이 순서만 기억해라

깃허브의 전체 프로세스는 생각보다 단순하다. 마치 요리 레시피처럼, 이 순서만 외우면 절대 망하지 않는다. 나는 이걸 ‘ADD-COMMIT-PUSH 삼부작’ 이라고 부른다.

  1. ADD (스테이징) : 요리 재료를 손질해 대기실(Staging Area) 에 올린다. git add . (모든 변경사항) 또는 git add [파일명]으로 사용한다.
  2. COMMIT (확정) : 대기실에 있는 재료들을 하나의 요리 세트로 묶어 이름을 붙인다. git commit -m "로그인 기능 완료".
  3. PUSH (업로드) : 완성된 요리 세트를 진열장(Github)에 전시한다. git push origin main.

이게 끝이다. 물론 중간에 git status로 현재 상태를 수시로 확인하는 습관은 필수다.

4. 첫 번째 저장소, 너랑 나랑 연결하기

자, 이제 실제로 움직여보자. 이론은 충분하다. 손을 움직여라.

1) 로컬에서 시작하기

우리가 작업할 폴더를 하나 만들자. 터미널(맥)이나 Git Bash(윈도우)를 열어 다음 명령어를 친다.

mkdir my-first-project
cd my-first-project
git init

git init은 이 폴더를 Git이 관리하겠다고 선언하는 순간이다. 마치 “여기는 내 작업실이다”라고 벽에 낙서하는 것과 같다.

2) 깃허브에 원격 저장소 생성하기

  1. Github.com에 로그인한다.
  2. 오른쪽 상단의 [+] 버튼을 누르고 New repository를 클릭한다.
  3. 저장소 이름을 위에서 만든 폴더명과 동일하게 my-first-project로 지정한다. (설명은 선택사항)
  4. PublicPrivate 중 선택한다. (일단 공부용이니 Public도 무방)
  5. Create repository 버튼 클릭.

3) 로컬과 원격을 연결하는 마법

생성된 저장소 페이지에 보면 …or push an existing repository from the command line이라는 섹션이 보일 것이다. 그 아래 있는 명령어를 그대로 복사해 우리의 터미널에 붙여 넣는다.

git remote add origin https://github.com/아이디/my-first-project.git
git branch -M main
git push -u origin main

git remote add origin은 “지금부터 내 컴퓨터의 이 폴더는 origin이라는 별명으로 깃허브 서버와 연결된다”는 선언이다. 이제 당신의 코드는 전 세계 어디서든 접근 가능한 클라우드로 날아갔다.

5. 브랜치(Branch): 평행 우주에서 놀아보자

처음에는 main 브랜치 하나만으로도 충분하다. 하지만 진정한 협업은 브랜치에서 시작된다. 당신이 앱을 만드는데, 갑자기 새로운 다크 모드 기능을 실험해보고 싶다고 가정해보자. 메인 앱이 망가질까봐 두렵다면, 브랜치를 생성하면 된다.

# 새 브랜치 생성 및 이동
git checkout -b feature/dark-mode

# 여기서 마음껏 코드 수정 후 커밋
git add .
git commit -m "다크모드 실험 중"

# 작업이 완료되면 다시 메인 브랜치로 이동
git checkout main

# 실험한 내용을 메인에 병합
git merge feature/dark-mode

브랜치 전략은 초보자에겐 다소 복잡해 보일 수 있다. 하지만 이것만 기억하자: 당신이 지금 작업하는 내용이 메인에 영향을 주지 않는다는 사실, 그 자체가 브랜치가 주는 가장 큰 선물이다.

에필로그: 버튼이 아니라 원리를 이해하라

오늘 배운 내용은 단순히 명령어를 외우는 것이 아니다. add, commit, push, branch라는 네 가지 축이 어떻게 맞물려 돌아가는지, 그 흐름을 이해하는 것이 핵심이다. 구글 검색만으로는 알려주지 않는, 이 근육 기억 같은 흐름을 체화하는 순간, 당신은 더 이상 깃허브 앞에서 주눅 들지 않게 될 것이다.

이제 당신의 코드를 깃허브에 올려라. 두려워 말고. 버튼을 누르는 게 아니라, 명령어로 직접 컨트롤하는 맛에 점점 빠져들게 될 테니. 혹시 실수했다면? 리누스가 만든 그 타임머신, Git이 아름답게 되돌려줄 테니까.

Picture of Khoi Tran

Khoi Tran

Khoi Tran은 하이텍 소프트웨어의 소유자입니다. 사회의 문제를 해결하기 위해 기술적인 솔루션을 기여하는 것에 열정적입니다. 소프트웨어 엔지니어로 6년간 근무한 기술 지식과 (2018년부터 기술 회사를 운영하며) 비즈니스 감각을 갖추고 있어, 나는 다행히도 이 디지털 세계에서 더 많은 장점을 가진 현대적인 기업가 세대의 일부로 위치하고 있습니다.
기타 기사
web development project

초보자를 위한 좋은 웹 개발 프로젝트는 무엇일까요?

웹 개발을 배우기로 마음먹었다면, 축하한다. 당신은 이제 단순한 소비자에서 창조자로의 여정을 시작한 것이다. 하지만 막상 시작하려고 보면 클론 코딩부터 투두리스트(To-Do List)까지, 세상에 널린 프로젝트가 너무 많다. 진짜 고민은 이것이다. 포트폴리오에 넣었을 때 면접관의 눈길을 사로잡으면서도, 내 실력으로 완주할 수 있는 프로젝트는 무엇인가? 정답은 간단하다. “나의 현재 실력보다 5%만 높은 프로젝트” 다. 그리고 2026년 현재, 여기에

세부정보 →
What is Spring Cloud

스프링 클라우드 란 무엇인가요?

모놀리식(Monolithic) 아키텍처, 들어는 보셨죠? 하나의 거대한 코드 덩어리가 모든 일을 처리하는 방식입니다. 초기에는 편리하지만, 서비스가 커지면 유지보수 지옥을 경험하게 됩니다. 한 번의 배포를 위해 팀 전체가 멈춰야 하고, 작은 버그 하나가 시스템 전체를 마비시키는 일은 다반사입니다. 이런 아쉬움을 해소하기 위해 등장한 것이 바로 마이크로서비스 아키텍처(MSA) 입니다. 하지만 이 아름다운 이론에도 냉혹한 현실이 기다리고 있습니다. 서비스가

세부정보 →
Factory-Logistics Integrated Safety Management Design

공장-물류 통합 안전관리 설계: 두 개의 심장, 하나의 시스템

경기도 소재의 한 제조 기업은 생산 공장과 물류 창고의 분리된 안전 체계로 인해 연간 12건의 사고 보고서와 4억 원의 손실을 기록했습니다. 단일 안전 관제 시스템 도입 후 첫 분기, 사고 건수가 67% 감소하고 생산 라인과 출하 속도가 19% 향상되었습니다. 안전 경계선을 넘어선 리스크는 경계선을 넘어갈 줄 압니다. 우리의 산업 현장을 살펴보면, 제품이 탄생하는 생산 공장과

세부정보 →
Strategies for Reducing Empty Carrier Operations While Maintaining Existing Carrier Relationships

기존 운송사 관계를 유지하면서 공차 운행을 줄이는 전략

우리나라 물류 산업에서 공차율은 단순한 지표를 넘어 경쟁력을 좌우하는 핵심 요소입니다. 한국교통연구원의 자료에 따르면 국내 화물 트럭의 평균 공차율은 약 24%에 달하는데, 이는 운송 비용의 상당 부분이 ‘아무것도 실리지 않은 이동’에 소비된다는 것을 의미합니다. 기존 파트너십을 훼손하지 않으면서 이 숫자를 줄이는 것은 복잡한 과제처럼 보이지만, 실제로는 물류 네트워크를 재해석하고 협력을 심화시키는 기회가 될 수 있습니다.

세부정보 →
Customer segmentation for loyalty optimization

고객 데이터를 활용한 로열티 세분화 전략: 무분별한 혜택이 아닌, 데이터가 이끄는 지능적 관계 관리

최고의 VIP 고객과 그저 ‘한 번 더’ 구매한 고객을 같은 방식으로 대한다면, 당신은 이미 엄청난 기회를 놓치고 있을 수 있습니다. 현대 마케팅의 핵심은 더 많은 고객을 모으는 것이 아니라, 이미 가진 올바른 고객에게 더 깊게 다가가는 것에 있습니다. 로열티 프로그램이 단순한 포인트 적립 시스템에 머문다면, 그것은 비싼 할인 쿠폰을 나르는 배달부에 불과합니다. 진정한 강점은 ‘고객

세부정보 →
What is Node js

node.js가 정확히 무슨 일을 하는거죠?

우리가 매일 사용하는 웹사이트, 넷플릭스, 쿠팡, 심지어 이 글을 보고 있는 지금 이 순간에도. 수많은 데이터가 오고 가는 그 중심에는 자바스크립트가 있다. 그런데 문제는, 자바스크립트라는 녀석, 원래는 웹 브라우저 안에서만 살아가는 언어였다는 사실이다. 그런데 갑자기 어느 날부터, 이 녀석이 브라우저 밖으로 뛰쳐나와 컴퓨터를 통째로 조종하기 시작했다. 그 중심에 있는 것이 바로 Node.js다. 겉보기엔 그냥 설치

세부정보 →
Scroll to Top