본문 바로가기
카테고리 없음

[git] Git + GitHub 기초적인 사용법

by Enhydra lutris 2025. 4. 5.
728x90

예전에 git 쓰면서 좀 헷갈렸던 포인트들은 정리해서 업로드한적이 있었는데

기본적인 사용방법은 업로드 한적이 없어서

이번 기회에 정리해보는 시간을 가져보겠습니다!

 

깃에 대해 글을 쓰기에 앞서서 처음 깃을 접하는 사람들은 어떤 포인트가 가장 어렵게 느껴질까 생각해보았는데요

사용법을 알기전 git에 대한 개념부터 제대로 잡고 가기 위해서 중요하다고 생각하는 포인트들도 정리해보았습니다


Git이란?

  • 정의: 깃(Git)은 소스 코드의 변경 이력을 기록하고 관리하는 분산 버전 관리 시스템(DVCS)입니다.
  • 역할: 코드를 언제든지 이전 상태로 되돌릴 수 있도록 도와주며, 여러 개발자가 동시에 작업해도 충돌을 최소화할 수 있도록 합니다.

Git을 사용하는 이유

변경 이력 추적 누가, 언제, 무엇을 수정했는지 기록을 남길 수 있음
실수 복구 이전 버전으로 쉽게 되돌릴 수 있어 안전하게 작업 가능
협업 지원 각자의 작업을 브랜치로 분리해 충돌 없이 개발 가능
실험 용이 새로운 기능을 별도 브랜치에서 테스트하고 반영 가능
백업 및 복구 원격 저장소와 연동하면 어디서든 동일한 환경 복원 가능

 

Git의 구성 요소

 

로컬 저장소 사용자 컴퓨터 안의 깃 저장소
원격 저장소 GitHub, GitLab 등에 위치한 공유 저장소
워킹 디렉터리 실제 작업 중인 파일이 있는 폴더
스테이징 영역 커밋할 파일을 임시로 올려두는 곳 (git add 사용)
커밋(Commit) 변경 이력을 저장하는 단위. 메시지를 함께 기록함
브랜치(Branch) 코드 흐름을 분리하는 기능, 원본의 코드를 바로 수정하는 것이 아닌, 사본을 만들어서 사본을 원본에 합치는 식으로 작업을 가능하게 만들어

Git 과 GitHub는 동일한 것이 아니다!

저는 과거에 GitHub에서 제공하는 도구가 Git인거 아닌가..? 라는 생각을 했었는데 전혀 아니랍니다ㅎㅎ

두개를 제공하는 회사조차 다르답니다

Git은 컴퓨터 안에서 파일의 변화를 기록하는 도구이고,

GitHub는 그 기록들을 인터넷에 올려서 다른 사람과 함께 볼 수 있는 사이트라고 생각하면 됩니다

더 간단하게 말하자면 내 컴퓨터의 파일이 변화한 기록을 해주는게 Git이고,

그걸 다른 사람한테 공유하기 위해 그 기록을 올리는 사이트가 GitHub인 것이죠

(그래서 GitHub와 같은 사이트를 원격 저장소라 합니다)

 


 

 

Git/GitHub의 기본 흐름

init → add → commit → push → pull

깃허브로 코드를 공유하는 기본 흐름은 위와 같습니다!

init Git 시작하기 → "이 폴더를 Git으로 관리할 거예요!" 하고 Git에게 알려주는 명령 (git init)
add 변경한 파일을 저장할 준비하기 → "이 파일을 저장할 거예요!" 하고 Git에게 알려주는 단계 (git add 파일명)
commit 파일을 실제로 저장하기 → "이 파일을 이렇게 바꿨어요!" 하고 Git에 기록을 남기는 단계 (git commit -m "메시지")
push 다른 사람이 볼 수 있도록 인터넷에 올리기 → GitHub 같은 원격 저장소에 내 기록을 보내는 단계 (git push)
pull 다른 사람이 올린 걸 내 컴퓨터로 가져오기 → 팀원이 바꾼 내용을 내 컴퓨터에 받아오는 단계 (git pull)
    조금 더 이해하기 쉽게 비유하자면 아래와 같은 흐름인것이죠
  • init → "이제부터 이 노트를 사용할 거야!"
  • add → "이 내용을 노트에 적을 준비 완료!"
  • commit → "노트에 내용을 진짜로 적음!"
  • push → "노트를 복사해서 친구에게 보여줌!"
  • pull → "친구가 바꾼 노트를 내 노트에 반영!"

이제 위 내용을 바탕으로 코드를 올리고 내려받는 실습을 해봅시다!

프로젝트 업로드

1) 깃 초기화

mkdir [폴더명] 폴더 생성 명령어 (깃으로 관리할 폴더를 생성한 것임)
cd [폴더명] 만들어진 폴더 위치로 이동
git init Git 저장소 초기화

 

 

2) 파일추가(스테이징) & 커밋(스냅샷)

 

[파일에 저장할 내용] > 파일명 파일 생성
git add [파일명] git에 스테이징
git commit -m '[커밋 메세지]' git에 저장


커밋메세지는 어떤 내용의 변경사항이 있었는지 간결하게 메모하는 형태로 작성하시면 되는데

회사 같은 경우에는 내부적으로 커밋 메세지 규칙이 존재해서 거기에 맞는 형식으로 작성하셔야 합니다!

메세지 작성 요령에 대해 궁금하시면 아래 내용을 확인해주세여

https://seaotter.tistory.com/123

 

깃 커밋 메세지 규칙

커밋 메세지는 집단별로 다양한 방식으로 쓰이고 있는데요.커밋 메세지을 작성하는 이유와 구성 방법에 대해 설명해보겠습니다.커밋 메세지 규칙을 정의하는 이유 일관성 유지일관된 형식을

seaotter.tistory.com

3) 원격 저장소 생성

아래 링크로 들어가시거나 GitHub에서 Your Repositories > new에 들어가셔서 새로운 원격 저장소 생성

https://github.com/new

 

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

 

4) 원격 저장소와 연결

 

git remote add [원격 저장소 url] 위에 단계에서 생성한 원격저장소의 url을 입력하여 연결

위 스크립트를 치면 아래와 같은 로그인 화면이 떠서 깃허브 로그인을 하면 되는데

로그인 팝업이 뜨지 않고 토큰이나 비밀번호를 달라는 메세지가 나오면

https://github.com/settings/tokens

여기에서 토큰을 발급하셔서 입력하셔서 로그인 하시면 됩니다

5) 원격 저장소에 업로드

 

git branch -M main 브랜치 이름을 main으로 변경 (기본: master)
git push -u origin main 원격 저장소로 코드 올리기

 

브랜치 이름을 master에서 main으로 바꾸는 이유는 요즘은 master/slave라는 단어가 차별적 표현이기 때문에 master를 main으로 바꾸는 추세인데 git은 아직 기본 브랜치를 master로 사용하지만 github는 기본 브렌치를 main이라는 용어로 변경하였기 때문에 기본 브랜치 명이 달라 충돌이 날수 있기 때문에 변경하는 것입니다. 

프로젝트 다운로드

1) 원격 저장소에서 내려받기

git clone [원격 저장소 url] 원격 저장소에 있는 프로젝트 로컬에 다운로드

2) 원격 저장소에 있는 변경사항 내려 받기

 

git pull origin main 코드 변경사항 가져오기

 


Git 기본 명령어 정리표

명령어 설명 비유
git init Git 저장소 생성 (프로젝트 폴더에 Git 시작하기) "택배 기록장을 꺼내는 것"
git add 파일명 커밋할 파일을 준비함 (스테이지에 올림) "택배 상자에 물건 넣기"
git add . 현재 폴더의 모든 변경된 파일을 준비함 "집에 있는 모든 물건 상자에 담기"
git commit -m "메시지" 준비한 파일들을 저장함 (기록 남김) "상자 테이프 붙이고 기록 남기기"
git status 현재 파일 상태 확인 "어떤 물건을 보낼 준비를 했는지 보기"
git log 지금까지의 커밋 기록 보기 "보낸 택배 내역 확인"
git remote -v 연결된 원격 저장소 확인 "택배를 보낼 주소 확인"
git branch -M main 브랜치 이름을 main으로 변경 "기록장의 이름 바꾸기"
git push -u origin main 로컬 코드를 원격 저장소(GitHub)로 업로드 "택배 보내기"
git pull 원격 저장소의 코드를 로컬로 가져오기 "다른 사람이 보낸 택배 받기"
git clone 저장소주소 원격 저장소 복사해서 새 폴더 만들기 "택배 하나 그대로 가져오기"

 

 

 

 

 

깃은 처음부터 잘쓰기는 어려운것 같아요..

처음에는 욕도 좀 먹고 코드도 좀 날리면서 배우실겁니다 ㅎㅎ

근데 괜찮아요~ 세상에는 내가 한것도 아닌데도 내가 욕먹는 일이 허다하답니다~~

내가 실수한걸로 내가 혼나는건 너무 상처받지말고

열심히 반성하고 훌훌 털어버리세요~

댓글