이것만은 꼭 알고 가자! Git 필수 개념 정리

2025. 3. 7. 16:32·기타

❓ 정의

- 분산 버전 관리 시스템(DVCS, Distributed Version Control System)으로, 코드의 변경 사항을 추적하고 여러 개발자가 효율적으로 협업할 수 있도록 도와주는 도구


❗ 사용이유

 채용 공고를 보면 git 사용 경험을 우대하는 곳도 많고, 거의 필수라고 볼 수 있다.

✅ 브랜치를 활용하여 독립적인 작업을 수행하고 병합 가능

 

✅원격 저장소를 통해 팀원 간 코드 공유 및 협업 가능

 

✅변경 이력을 저장하여 과거 코드로 쉽게 되돌릴 수 있음


💠 주요 용어

1️⃣ Repository

- 로컬 저장소(Local Repository): 개발자가 자신의 컴퓨터에서 작업하는 공간
- 원격 저장소(Remote Repository): GitHub, GitLab, Bitbucket 같은 플랫폼에 존재하는 저장소

2️⃣ Commit

- 코드의 변경 사항을 기록하는 단위

git add . # commit할 전체 작업 내용 스테이지에 올려 준비하기
git commit -m "작업 내용 설명"  # 로컬 브랜치에 변경 사항 기록

3️⃣ Branch

- 독립적인 작업을 위해 만들어지는 분기

- 목적에 따라 main(master), develop, feature, hotfix 등으로 나눌 수 있다.

git branch feature/login  # 새로운 브랜치 생성
git checkout feature/login  # 해당 브랜치로 이동
git switch feature/login  # 해당 브랜치로 이동
git switch -c feature/login # 새로운 브랜치 만들어서 이동
git branch -D <삭제할 브랜치명> # 특정 브랜치 삭제

4️⃣ Merge

- 다른 브랜치의 변경 사항을 현재 브랜치로 합치는 작업

git checkout main  # 메인 브랜치로 이동
git merge feature/login  # feature/login 브랜치를 병합

 


🚩 협업을 위한 명령어

1️⃣ git 초기 설정

$ git config --global user.name "hojun.lee"
$ git config --global user.email email@example.com

해당 설정을 제대로 안하면 커밋내역에서 계정이름이 아니라 유저이름이 올라갈 수 있다.

2️⃣ 원격 저장소와 연결

git clone <저장소 주소>  # 원격 저장소 복제
git remote add origin <저장소 주소>  # 원격 저장소 등록

로컬에서 원격 저장소를 추적하기 위해 클론해온 저장소를 origin이라는 이름으로 연결 등록한다.

그래야 rebase, pull할 때 해당 레포지토리의 최신 정보를 불러올 수 있음!

3️⃣ 작업 내용 반영

git pull origin main  # 최신 코드 가져오기
git add .  # 변경 사항 스테이징
git commit -m "작업 내용 설명"  # 변경 사항 저장
git push origin feature/login  # 원격 저장소에 푸시

+ 원격 저장소에 지금 작업중인 로컬 브랜치가 없다면 

git push -u origin <브랜치명>

을 해줘야 git push만으로도 간단히 push할 수 있다.

4️⃣ 코드 리뷰 및 병합


✅ pull

1. git fetch origin main으로 원격 브랜치의 최신 변경 사항을 가져오고,
2. git merge origin/main으로 로컬 브랜치에 변경 사항을 병합

즉, pull은 fetch와 merge를 동시에 수행하는 것과 같다.


✅ rebase

- rebase는 주로 로컬에서 개인 작업(feature)브랜치를 정리할 때 사용한다.

    ex) feature 브랜치에서 작업하다가, main 브랜치의 최신 변경 사항을 반영해야 하는 경우

- git merge를 사용하면 불필요한 병합 커밋이 쌓이지만, rebase를 하면 병합 커밋이 없어 히스토리가 깔끔해진다.

- "git pull --rebase origin main"을 사용하면 최신 변경 사항을 내 로컬 브랜치에 적용할 수 있다.

git checkout feature-branch
git rebase main  # 최신 main 브랜치를 feature 브랜치에 반영

 

참고: https://paullabworkspace.notion.site/GitHub-435ec8074bcf4353afb947f601a030df

 

 

 

 

 

 

 

저작자표시 비영리 변경금지 (새창열림)

'기타' 카테고리의 다른 글

배럴(barrel) 패턴  (4) 2025.05.19
Cursor에 github MCP 서버 연결해보기!  (1) 2025.04.09
'기타' 카테고리의 다른 글
  • 배럴(barrel) 패턴
  • Cursor에 github MCP 서버 연결해보기!
버그잡는고양이발
버그잡는고양이발
주니어 개발자입니다!
  • 버그잡는고양이발
    지극히평범한개발블로그
    버그잡는고양이발
  • 전체
    오늘
    어제
    • 분류 전체보기 (382)
      • React (16)
      • Next.js (5)
      • Javascript (5)
      • Typescript (4)
      • Node.js (2)
      • Cs (16)
      • 트러블 슈팅 (5)
      • Html (1)
      • Css (3)
      • Django (0)
      • vue (0)
      • Java (2)
      • Python (0)
      • 독서 (1)
      • 기타 (3)
      • 백준 (192)
      • swea (31)
      • 프로그래머스 (30)
      • 이코테 (4)
      • 99클럽 코테 스터디 (30)
      • ssafy (31)
      • IT기사 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 인기 글

  • 태그

    99클럽
    개발자취업
    Til
    항해99
    코딩테스트준비
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
버그잡는고양이발
이것만은 꼭 알고 가자! Git 필수 개념 정리
상단으로

티스토리툴바