몸과 마음이 건전한 SW 개발자

GIT 사용법 정리 (2025-03-18) 본문

프로젝트(팀, 개인)/GIT

GIT 사용법 정리 (2025-03-18)

스위태니 2025. 3. 18. 11:32
728x90

1. 브랜치 관리

브랜치 생성 및 전환

  • git branch <브랜치명> : 새로운 브랜치 생성
  • git checkout <브랜치명> : 해당 브랜치로 이동 (구버전)
  • git switch <브랜치명> : 해당 브랜치로 이동 (권장)
  • git switch -c <브랜치명> : 브랜치 생성과 동시에 전환

브랜치 삭제

  • git switch <다른 브랜치> : 삭제 전 다른 브랜치로 이동
  • git branch -D <브랜치명> : 병합되지 않은 브랜치 강제 삭제
  • git branch -d <브랜치명> : 병합된 브랜치 삭제
  • 원격 브랜치 삭제 순서:
    1. git branch -d <브랜치명>
    2. git push origin --delete <브랜치명>
    3. git fetch
    4. git pull
    5. (필요 시) git push

2. 브랜치 병합

  • git switch <병합할 브랜치> : 병합할 브랜치로 이동
  • git merge <브랜치명> : 해당 브랜치를 현재 브랜치에 병합
  • git push origin <현재 브랜치> : 병합 후 원격 저장소에 반영

Fast-forward 병합 전략

  1. git switch devgit pull origin dev (최신화)
  2. git switch <기능 브랜치>git merge dev (병합)
  3. git push origin <기능 브랜치>
  4. git switch devgit pull (최신화)
  5. git merge <기능 브랜치>git push origin dev
  6. dev에서 문제 없으면 main으로 PR 후 병합 진행
    • 테스트 완료 후 PR 생성
    • 본부장님께 해당 업무 보고
    • main으로 병합 후 먼데이 링크 추가
    • 해당 내용 요약 작성

3. 새 브랜치 원격 저장소에 올리기

  • git push -u origin <브랜치명> : 브랜치를 원격에 등록
  • 이후부터는 git push 만으로 푸시 가능

4. 브랜치 목록 조회

  • git branch -a : 로컬 및 원격 브랜치 모두 표시
  • git branch : 로컬 브랜치만 표시
  • git branch -r : 원격 브랜치만 표시
  • git branch -v : 각 브랜치의 마지막 커밋 정보 표시

5. 롤백 (이미 push한 경우)

특정 커밋으로 되돌리기

  1. git log : 해시값 찾기 (예: commit abc123...)
  2. git revert -m 1 <해시값>
    • -m 1 : 병합된 브랜치에서 되돌릴 경우 사용
    • :wq 입력 후 저장
  3. git push origin <브랜치명> : 원격 반영

최신 커밋 되돌리기

  • git reset --soft HEAD~1 : 가장 최근 커밋 취소 (파일 유지, 스테이지 보존)
  • git reset --mixed HEAD~1 : 가장 최근 커밋 취소 (파일 유지, 스테이지 해제)
  • git reset --hard HEAD~1 : 가장 최근 커밋 완전 삭제 (복구 불가)
  • git push --force : 강제 푸시 (주의 필요)

6. 기타 유용한 명령어

  • git stash : 현재 작업을 임시 저장 (커밋 없이 변경사항 숨김)
  • git stash pop : 임시 저장된 변경 사항 적용
  • git rebase -i HEAD~3 : 최근 3개의 커밋을 인터랙티브 리베이스
  • git cherry-pick <해시값> : 특정 커밋을 현재 브랜치로 가져오기
  • git log --oneline --graph : 한 줄씩 그래프 형태로 로그 확인
728x90