티스토리 뷰

혼자 개발할 때...

 

다음과 같은 상황이 발생했던 적이 있는가?

- 잘 작동하지 않는 코드가 있음, 코드에 여러가지 변경을 한 후에 저장함, 새로운

변경 때문에 코드가 정상 작동하지 않는다.!!  (이전 코드로 돌아가고 싶을때)

- 실수로 중요한 파일을 삭제함, 몇 달 동안 작업한 수만 라인의 코드가 허공으로 사라짐

- 하드 디스크가 고장!!,  과제 마감에 임박하여 모든 것이 다 날라감

 

이런 경우 대비하여 어떻게 하나요?

 usb를 이용하여 정기적 백업    - 백업하는것을 까먹을수도 있다.

 

함께 개발할 때...

- 누구의 컴퓨터에 프로젝트의"공식적"인 소스코드를 보관하지?

- 어떤 팀원이 어떤 부분을 작업하고 수정했는지 어떻게 알 수 있지?

- 다른 팀원이 소스코드에 가한 변경을 어떻게 읽고 쓸 수 있을까?

이메일? usb?

- 팀원들이 복사한 소스코드에서 같은 화일들을 수정하면 어떻게 하지?

- 실수로 중요한 파일들에 문제가 생겨버렸어 ㅠㅠ

- 중요 파일들에 대한 백업을 어떤 방식으로 유지해야 하지?

 

해법은?

버전 관리 시스템 (VCS : Version Control System)

- 소프트웨어의 파일들에 가해진 변경을 추적하여 관리하는 소프트웨어

간단한 예시로는 워드 프로세서의 "undo"기능이 있다.

SCM이라고도 불린다. Source Code Management System

다양한 종류의 버전관리 시스템이 소프트웨어 개발 프젝에 사용되고 있다.

- RCS, CVS, Subversion (SVN)

- Git, Mercurial

역할 :

-    모든 팀원이 접근할 수 있는 공유된 소스코드의 카피를 제공한다.

-    현재 버전과 백업 버전을 포함하여, 소스코드의 여러 버전을 관리한다.

-    팀원들이 어떠한 변경을 소스코드에 가했는지 알 수 있도록 해준다.

-    여러 팀원이 같은 소스파일에 가한 변경의 충돌을 관리해준다.

-    소프트웨어 소스코드 뿐만 아니라 다른 리소스에도 적용 가능하다.

 

보관소 (repositiory) : 소프트웨어의 변경사항들을 기록해주는 DB

 

 

중앙 집중식 버전 관리 시스템 : 가장 많이 쓰인다.

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31