변경사항 확인하기/과거의 버전으로 돌아가기
16 Jan 2019
|
github
지옥에서 온 git
변경사항 확인하기
- 지금까지 버전 만드는 방법을 살펴봄
- 버전을 만든것의 좋은점
- 차이점, 과거 시점의 내용을 알 수 있음
- 과거로 돌아 갈 수 있음
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.txt
후 git 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는 신중하게 해야 한다고 한다.