인프런 커뮤니티 질문&답변
최종 코드모음이라는 것 감 잡기가 어렵네용
작성
·
199
0
(3분 50초 이후 10초 시점에서 이해가 어려워 질문 올립니다.)
이해한게 맞는지 질문드립니다.
상황 가정: 버전5까지있는 코드를 클론해옴!
우리가 주목하는 파일1은 버전2에서 생성되고 버전5에서 한 번 수정됨
git의 경우: 버전5를 확인한다(파일1이 버전2와 차이가 있는걸 확인.).
->버전2의 파일1을 확인한다(파일1이 생긴걸 확인.).-> 파일1을 열람하고 버전5의 변경사항도 반영
SVN의 경우:버전1을 확인한다(파일1이 없다.).
->버전2를 확인한다(파일1이 있다.).->파일1 생성
->버전3를 확인한다(파일1이 있다.).->파일1을 냅둔다.
->버전4를 확인한다(파일1이 있다.).->파일1을 냅둔다.
->버전5를 확인한다(파일1이 변경됐다.).->변경사항을 반영한다.
이게 맞나요오...
git은 바로 이전 커밋만 본다는게 버전5를 가져오려면 버전4를 본다는 말인가 싶기도하고 뒤죽박죽이네요 ㅎㅎ
답변 1
1
진유림
지식공유자
순서도 보니 정확히 이해하셨네요~
"git은 바로 이전 커밋만 본다는게 버전5를 가져오려면 버전4를 본다는 말인가 싶기도하고 뒤죽박죽이네요"
만 조금 더 정리하자면,
git은 파일마다 (변경사항이 생긴) 이전 커밋을 참조해서 현재 코드 상태를 계산합니다.
언급하신것처럼 현재 버전5의 파일A가 버전 2에서 수정됐었다면,
파일A의 상태를 계산하기 위해선 버전 2 + 버전 5 를 보는거예요.
SVN은 버전 2345 를 계산하구요.





답변 감사합니다~~( _ _)