[Git] Git 이란? Git 명령어 모음 (Reset vs Revert)

728x90
반응형
SMALL

Git

컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다. 소프트웨어 개발에서 소스 코드 관리에 주로 사용되지만 어떠한 집합의 파일의 변경사항을 지속적으로 추적하기 위해 사용될 수 있다.

Repository

  • 원격 저장소 Remote Repository) : 공유
  • 로컬 저장소 (Local Repository) : 개인

Commit

  • 파일 및 폴더의 추가/변경 사항을 저장소에 바로 기록하는 것이 아니라 '인덱스'에 파일 상태를 기록(Stage)하는 작업

Fetch

  • 소스 최신화

Push

  • 로컬 저장소에서 변경된 이력을 원격 저장소에 업로드 (Local -> Remote)

Pull

  • 원격 저장소에서 로컬 저장소로 최신 변경 이력을 다운로드 (Remote -> Local)

Clone

  • 원격 저장소의 내용을 로컬 저장소에 통째로 복제

Merge

  • 작업 중 다른 사람이 Push를 하여 원격 저장소에 변경 이력을 업데이트한 경우 내 Local 변경사항 Push 불가
  • 다른 사람의 업데이트 이력을 로컬 저장소로 갱신 후 Push 진행 (자동 충돌 해결)
  • 수동으로 충돌이 발생한 부분을 수정하여 해결

Branch

  • 독립적으로 어떤 작업을 진행하기 위한 개념
  • 브랜치는 다른 브랜치의 영향을 받지 않기 때문에 동시 작업 가능
  • 브랜치에서 여러 작업 진행 후 병합하는 형식

Hean

  • 현재 사용 중인 브랜치의 선두 부분

Checkout

  • 브랜치 전환

Stash

  • 변경 사항을 커밋하지 않고 임시 보관
  • 체크아웃 시 충돌 피할 때 사용

Reset

  • 특정 버전(시점)으로 되돌리는 경우 사용
    • Soft : 변경된 사항 Staged Files에 존재
    • Mixed : 변경된 사항 Unstaged Files에 존재
    • Hard : 변경된 사항 제거

Reset Before


Reset Soft Result


Reset Mixed Result


Reset Mixed Unstaged FIles


Reset Hard Result

 

Revert

  • Commit 한 내용을 취소 경우 사용
  • Commit 한 내용을 되돌리는 새로운 Commit이 발생
  • 버전 유지
  • 순차적으로 진행 필요, 순차적으로 하지 않으면 충돌 발생

Revert Before


Revert Result

자료 참고

728x90
반응형
LIST

'Develope > Git & Github' 카테고리의 다른 글

[Git Error] fatal: Authentication failed for  (0) 2022.08.21