ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Git에서 변경사항 확인과 되돌리기: git diff, git checkout, git add, git reset
    CS 공부/Git 2024. 12. 3. 22:30

    Git을 사용할 때 변경사항을 확인하고, 스테이징하거나 되돌리는 과정은 기본 중의 기본이다. 하지만 이를 효율적으로 활용하려면 명령어의 역할과 연관성을 잘 이해해야 한다. 이번 글에서는 변경사항 확인 및 되돌리기스테이징 및 취소의 두 가지 흐름으로 나누어 명령어들을 정리하려고 한다.


    1. 변경사항 확인 및 되돌리기

    변경사항을 확인하고, 필요에 따라 되돌리는 작업은 작업 중간에 자주 하게 되는 일이다. git diff로 변경사항을 확인하고, git checkout으로 필요 없는 변경사항을 되돌릴 수 있다.

    1-1) git diff: 변경사항 확인

    git diff 명령어는 수정된 파일의 변경 내용을 확인할 때 사용한다. 주로 스테이징되지 않은 변경사항을 확인하는 데 유용하다.

    git diff

     

    스테이징된 파일의 변경사항을 보고 싶다면, --cached 옵션을 추가해서 확인할 수 있다.

    git diff --cached

    1-2) git checkout: 변경사항 되돌리기

    변경사항을 되돌리고 싶다면 git checkout 명령어를 사용할 수 있다. 수정 사항을 되돌려 작업 디렉토리를 마지막 커밋 상태로 복구한다.
    모든 파일 되돌리기

    git checkout .

     

    특정 파일만 되돌리기

    git checkout -- <file>

    자리에 되돌리고 싶은 파일명을 입력하면 된다. 이 명령어를 사용할 때 주의할 점은 되돌린 변경사항은 복구할 수 없다는 것이다. 실수로 중요한 변경사항을 날려버리지 않도록 신중하게 사용해야 한다.


    2. 스테이징과 스테이징 취소

    변경사항을 커밋하기 전, 파일을 스테이징 영역(stage)에 올리고 필요할 때 이를 취소하는 작업은 Git의 기본이다. 이 과정에서는 git add와 git reset 명령어를 사용한다.

    2-1) git add: 변경사항 스테이징

    Git에서 변경된 파일을 커밋하려면, 먼저 스테이징 영역에 올려야 한다. 이를 위해 git add 명령어를 사용한다.

     

    특정 파일을 스테이징

    git add <file>

     

    모든 파일을 스테이징

    git add .

    2-2) git reset: 스테이징 취소

    스테이징한 파일을 다시 되돌리고 싶다면 git reset 명령어를 사용한다.

     

    특정 파일만 스테이징 취소

    git reset <file>

     

     모든 파일을 스테이징 취소

    git reset

     


    번외: 스테이징이란?

    Git에서 스테이징(Staging)은 변경된 파일을 커밋(commit)하기 전에 준비하는 과정이다. 스테이징 영역(stage)은 커밋할 파일들을 임시로 저장해 두는 공간이라고 생각하면 된다.

     

    1) 스테이징 영역이 필요한 이유

    • 변경 관리: 커밋할 파일과 그렇지 않은 파일을 구분할 수 있다.
    • 부분 커밋: 변경사항 중 일부만 선택적으로 커밋할 수 있다.
    • 명확한 기록: 커밋 로그를 깔끔하게 유지할 수 있다.

    2) 스테이징의 기본 흐름

    1. 파일을 수정하거나 추가.
    2. git add 명령어로 스테이징 영역에 올림.
    3. 스테이징 영역에 있는 파일을 git commit으로 최종 저장.

    3) 예시

    # 파일 수정
    vim example.txt
    
    # 변경사항 스테이징
    git add example.txt
    
    # 커밋
    git commit -m "Updated example.txt"

     

    이 과정을 통해 Git은 작업 디렉토리의 변경사항을 커밋할 준비를 하게 된다.


    요약

    Git 명령어를 변경사항 확인 및 되돌리기와 스테이징 및 취소로 나눠 정리하면 아래와 같다.

     

    • 변경사항 확인 및 되돌리기
      • git diff: 변경사항 확인
      • git checkout: 변경사항 되돌리기
        • 모든 파일: git checkout .
        • 특정 파일: git checkout -- 
    • 스테이징 및 취소
      • git add: 스테이징
        • 특정 파일: git add
        • 모든 파일: git add .
      • git reset: 스테이징 취소
        • 특정 파일: git reset
        • 모든 파일: git reset

    Git을 다룰 때 가장 중요한 점은 작업 내용을 수시로 확인하고, 변경사항을 꼼꼼히 관리하는 습관을 들이는 것이다. 이런 기초적인 명령어들을 숙지해두면 더 복잡한 작업에서도 유연하게 대응할 수 있다.

Designed by Tistory.