버전 비교

Git 입문

George Boorman

Curriculum Manager, DataCamp

git show 출력

git show 출력: 위에 git log, 아래에 git diff, 아래쪽에 잘못된 데이터 입력 표시

Git 입문

git diff

  • git diff - 버전 간 차이

 

  • 마지막 커밋된 버전과 스테이징 영역에 없는 최신 버전 비교
git diff report.md
Git 입문

스테이징되지 않은 파일과 비교

git diff 출력: "TODO: write executive summary."가 제거되고 "TODO: cite funding sources"가 추가됨

  • 버전 B - 최신 버전
Git 입문

git diff 출력

주석이 달린 git diff 출력: 다섯 번째 줄 "@@ -1, 5 +1, 5 @@"에 화살표, 두 버전의 시작/끝 줄 범위를 나타냄

Git 입문

git diff 출력

주석이 달린 git diff 출력: 다섯 번째 줄 "@@ -1, 5 +1, 5 @@"에 화살표, 두 버전의 시작/끝 줄 범위를 나타냄

Git 입문

git diff 출력

주석이 달린 git diff 출력: 아래에 초록색으로 한 줄이 추가됨

Git 입문

스테이징된 파일과 비교

  • report.md를 스테이징 영역에 추가
git add report.md
  • 마지막 커밋된 report.md스테이징 영역의 버전 비교
git diff --staged report.md
Git 입문

스테이징된 파일과 비교

git diff --staged report.md 출력, 이전의 git diff report.md 출력과 동일함

Git 입문

여러 스테이징된 파일 비교

  • 모든 스테이징된 파일을 마지막 커밋과 비교
git diff --staged

git diff --staged 출력: mh tech survey에 한 줄 추가, report에는 한 줄 삭제 및 추가

Git 입문

두 커밋 비교

  • 커밋 해시 찾기

    git log
    
  • 두 해시 비교

    git diff 35f4b4d 186398f
    
  • 첫 번째 해시에서 두 번째 해시로 무엇이 변경되었는지

    • 최신 해시는 두 번째에 둠
  • 최신 커밋 상태 = HEAD
  • 최신에서 한 단계 이전과 최신 커밋 비교
    git diff HEAD~1 HEAD
    
Git 입문

두 커밋 비교

가장 최근과 세 번째 최신 커밋 간 git diff 출력 - 최신 버전에 한 줄 추가됨

Git 입문

요약

Command Function
git diff 스테이징되지 않은 모든 파일과 최신 커밋 간 변경 사항 표시
git diff report.md 스테이징되지 않은 파일과 최신 커밋 간 변경 사항 표시
git diff --staged 스테이징된 모든 파일과 최신 커밋 간 변경 사항 표시
git diff --staged report.md 스테이징된 파일과 최신 커밋 간 변경 사항 표시
git diff 35f4b4d 186398f 해시로 두 커밋 간 변경 사항 표시
git diff HEAD~1 HEAD~2 커밋 해시 대신 HEAD로 두 커밋 간 변경 사항 표시
Git 입문

연습해 봅시다!

Git 입문

Preparing Video For Download...