SVN은 파일 단위 관리고 GIT은 프로젝트 단위 관리임
서로 의존성있는 A B 두 파일이 있을때
SVN은 A를 무시하고 B만 커밋하는게 가능
GIT은 A를 어떻게든 처리해야 B를 푸시할수 있음
소규모 프라젝에선 어떻게든 개발자의 기억력에 의존해 관리가 가능한데
대규모 프라젝에선 개발자들이 커밋안된 수십개의 파일중에서 기억력에 의존해 커밋하는데
커밋하고나면 여기저기서 작동 안한다는 리포트가 쏟아짐
그러면 커밋한사람이 확인하고 안올린 파일들을 재확인해서 커밋해줘야 되는데
이게 보통 3~4 이터레이션
그리고 개발자들 기억속에서 사라진 나머지 파일들이 한참있다 충돌이 났을때
어떻게 해야될지를 모름 머지해야되는지 내껄 덮어야 되는지 저쪽을 덮어야 되는지
이런게 쌓이고 쌓이면 나중에 롤백할때
이런 중간중간으로 점프하게되서 롤백도 6~7번 반복하는 경우가 허다함
그래서 대규모 프라젝은 커밋할때 당장은 불편하더라도
프로젝트 전체 버젼을 맞추게 강요하는 GIT이 더 나은것 같음
서로 의존성있는 A B 두 파일이 있을때
SVN은 A를 무시하고 B만 커밋하는게 가능
GIT은 A를 어떻게든 처리해야 B를 푸시할수 있음
소규모 프라젝에선 어떻게든 개발자의 기억력에 의존해 관리가 가능한데
대규모 프라젝에선 개발자들이 커밋안된 수십개의 파일중에서 기억력에 의존해 커밋하는데
커밋하고나면 여기저기서 작동 안한다는 리포트가 쏟아짐
그러면 커밋한사람이 확인하고 안올린 파일들을 재확인해서 커밋해줘야 되는데
이게 보통 3~4 이터레이션
그리고 개발자들 기억속에서 사라진 나머지 파일들이 한참있다 충돌이 났을때
어떻게 해야될지를 모름 머지해야되는지 내껄 덮어야 되는지 저쪽을 덮어야 되는지
이런게 쌓이고 쌓이면 나중에 롤백할때
이런 중간중간으로 점프하게되서 롤백도 6~7번 반복하는 경우가 허다함
그래서 대규모 프라젝은 커밋할때 당장은 불편하더라도
프로젝트 전체 버젼을 맞추게 강요하는 GIT이 더 나은것 같음
디렉토리마다 .svn있는거 꼴보기 싫어서 git씀
그렇구나....