What we have to do is to be forever curiously
testing new opinions and courting new impressions

우리가 해야 할 일은 끊임없이 호기심을 갖고
새로운 생각을 시험해보고 새로운 인상을 받는 것

SVN과 GitHub의 차이

  • 정의
  • SVN 장단점
  • GitHub 장단점


정의

SVN(SubVersioN)

중앙 집중식 버전 관리 시스템으로 모든 소스 코드의 변경 사항은 중앙 저장소에 저장 및 관리

개발자는 중앙 저장소에서 소스 코드를 가져와 수정할 수 있고, 변경 사항은 중앙 저장소로 다시 커밋

여러 개발자가 동시에 작업할 수 있는 안전하고 효율적인 방법을 제공

GitHub

분산 버전 관리 시스템으로 개발자가 자신의 로컬 저장소에 소스 코드의 사본을 저장

개발자는 로컬 저장소에서 작업한 다음 변경 사항을 중앙 저장소로 푸시를 통해 반영

여러 개발자가 동시에 소스 코드에 작업할 수 있는 유연하고 확장 가능한 방법을 제공


SVN 장단점

장점

  1. 사용 난이도 쉬움
  2. 여러 개발자가 동시에 소스 코드에 작업 가능
  3. 안전성 높음

단점

  1. 중앙 집중 시스템이므로 중앙 저장소가 손상되면 소스 코드 손상
  2. 분산 시스템이 아니므로 원격 저장소에서 작업 불가
  3. 새로운 기능의 추가 반영이 느림
  4. 불친절한 사용성


GitHub 장단점

장점

  1. 코드 리뷰, 병합 요청, 이슈 트래킹 등 기능이 많고 숙련도에 따라 사용성이 크게 달라짐
  2. 분산 시스템이므로 중앙 저장소가 손상되더라도 소스 코드 유지 가능
  3. 원격 저장소에서 작업이 가능하기 때문에 유연하고 확장 가능성 높음
  4. 새로운 기능의 추가 반영이 빠르고 사용자 커뮤니티가 커서 리소스가 풍부
  5. 사용자 친화적 인터페이스로 사용에 익숙해지고 숙련되면 사용 편리

단점

  1. 분산 시스템이므로 다른 버전 관리 시스템만큼 안전하지 않음
  2. 사용 난이도가 높아 배우는 데 시간이 걸림


SVN이 중앙 저장소에 오리지날이 보관되기 때문에 동시에 여러 개발자가 소스 코드에 작업할 수 있고 안전하기 때문에 Top-Down 방식의 개발에 적합하고, GitHub는 유연하고 확장 가능한 Bottom-Up 개발을 하기에 적합


댓글남기기