변경사항 확인하기/과거의 버전으로 돌아가기

|

변경사항 확인하기

  • 지금까지 버전 만드는 방법을 살펴봄
  • 버전을 만든것의 좋은점
    • 차이점, 과거 시점의 내용을 알 수 있음
    • 과거로 돌아 갈 수 있음
  • git log -p를 통해 각각의 커밋과 커밋 사이의 소스의 차이점을 확인 할 수 있음
    • ---+++로 이전 버전과 현재 버전을 알 수 있음
      • /dev/null은 없던 파일이 생성 되었단 것을 의미
    • -(빨간색)와 +(초록색)로 어떤 내용이 추가/삭제되었는지 알 수 있음
  • 각각의 commit은 자신의 고유의 ID가 존재함.
    • git log 쳣을 때, commit 옆에 적인 복잡한 값이 그 commit의 고유 ID임
    • git log ID 하면 해당 commit 이전의 메시지만 볼 수 있음
  • 두 commit(version)의 차이를 확인하고 싶은 경우
    • git diff ID1..ID2 적으면 ID1 commit과 ID2 commit의 차이를 보여줌
    • git log -p와 동일하게 -+로 소스의 차이점을 볼 수 있음
  • f1.txt 파일을 수정하여 내용을 변경한 후
  • git diff를 치면 현재 변경 된 상태를 확인 가능
    • line1: -f1.txt : 이전내용 line2: +f1.txt : 변경된 내용 으로 확인 가능
  • git add f1.txtgit diff를 치면 아무 내용이 보이지 않음
    • git diff는 stage area에 올라가지 않은 코드에서 변경된 사항에 대해서만 출력함

과거의 버전으로 돌아가기

  • git reset ID --hard: ID의 commit(version)으로 돌아갈 수 있음
    • 해당 ID 이후의 commit 내용을 완전히 삭제하여 git log 를 해도 기록이 남지 않음
    • 잘못 된 commit에 대해 시간을 되돌려서 없던일로 해버린다고 이해하면 됨
  • git revert ID: ID의 해당 commit(version) 내용을 취소하고, 그 내용을 새로운 버전으로 만듦
    • 해당 ID 이후의 commit 내용은 남아있고 그 commit을 취소하고 다시 이전 버전으로 돌렸다는 기록이 남음
    • 잘못 된 commit에 대해 해당 commit이 취소된 이력이 하나 더 생기게 됨
  • revert와 reset은 어떨 때 사용?
    • 이미 push 한 상태라면 reset은 사용 불가능
    • push 된 후에는 revert만 사용 가능하며, 여기서 발생하는 충돌은.. 잘 풀어나가는 수밖엔 없다고 한다..
    • push는 신중하게 해야 한다고 한다.