“버전 제어 시스템”이란 무엇입니까?
버전 관리 시스템 종류의 소프트웨어는 데 도움이 되는 도구에서 녹화를 변경하여 파일의 트랙을 유지하트를 수행하는 코드입니다.
왜 버전 제어 시스템이 그렇게 중요합니까?
으로 우리가 알고 있는 소프트웨어 제품의 개발에 협력의 그룹에 의해 개발자들이 있을 수도 있습니다 다른 위치에서 각각의 하나는 그들의 기여에 어떤 특정 종류는 기능의/특징이다. 그래서 제품에 기여하기 위해,그들은 소스 코드에서 수정을했습니다(추가하거나 제거하여). 버전 관리 시스템의 종류는 데 도움이 소프트웨어 개발 팀과 통신하는 것을 효율적으로 관리(트랙)모든 변경 사항의 소스 코드와 함께하는 정보처럼 만든 사람과 어떤 변화되었습니다. 별도의 지점을 만들에 대한 모든 참여자들은 변화에 변화지 않는 병합으로 원래의 소스 코드를하지 않는 한 모든 분석으로 즉시 변경 사항은 녹색 신호들을 병합하여 주요 소스 코드입니다. 소스 코드를 조직적으로 유지할뿐만 아니라 개발 프로세스를 원활하게하여 생산성을 향상시킵니다.
버전 제어 시스템의 장점:
a)을 강화하는 프로젝트 개발 속도를 제공하여 효율적인 협업,
b)활용하여 생산성,신속하게 제품을 배달,그리고 능력을 통해 직원의 더 나은 통신 및 지원
c)을 줄이는 가능성의류과 갈등을 한편 프로젝트 개발을 통한 추적 기능을 모든 작은 변화
d) 직원 또는 참가자 프로젝트의 기여할 수 있에서 어디든 관계없이 다양한 지리적 위치를 통해 이는 VCS,
e)각각 다른 참가자 프로젝트의 다른 작업 복사본을 유지 그리고 작업 복사본의 유효성을 검사하지 않으면 주 파일에 병합되지 않습니다. 가장 인기 있는 예 Git,나선 코어,Microsoft TFS,
f)는 데 도움이에 복구의 경우에는 모든 재해 또는 우발적인 상황
g)을 알리는 사람에 대해,무엇 때,왜 변경되었습니다.
버전 제어 시스템의 사용:
- 저장소:변경 사항 데이터베이스로 생각할 수 있습니다. 여기에는 프로젝트의 모든 편집 및 기록 버전(스냅 샷)이 포함됩니다.
- 작업 사본(때로는 체크 아웃이라고도 함):프로젝트의 모든 파일의 개인 사본입니다. 편집할 수 있습니다면 이 사본에 영향을주지 않고,다른 사람의 작업할 수 있습 마지막으로 변경 사항을 적용을 저장소 작업이 완료 되는 경우 변경합니다.
유형의 버전 관리 시스템:
- 로컬 버전 관리 시스템
- 중앙 집중식 제어 시스템
- 분산 버전 관리 시스템
로컬 버전 관리 시스템:그것은 하나의 가장 간단한 형태 및 데이터베이스를 보유하고 있는 모든 변경 사항을 아래에 있는 파일을 수정 제어합니다. RCS 는 가장 일반적인 VCS 도구 중 하나입니다. 패치 세트(파일 간의 차이점)를 디스크의 특수 형식으로 유지합니다. 모든 패치를 추가하면 모든 파일이 어느 시점에서나 어떻게 생겼는지 다시 만들 수 있습니다.
중앙 집중식 제어 시스템:중앙 집중식 제어 시스템을 포함 한 저장소 및 각각의 사용자가 자신의 작동을 복사본입니다. 리포지토리의 변경 사항을 반영하기 위해 커밋해야합니다. 다른 사람이 업데이트하여 변경 사항을 볼 수 있습니다.
변경 사항을 다른 사람에게 표시하려면 두 가지가 필요합니다:
- 커밋
- 그들이 업데이트
의 이익을 CVCS(중앙 집중식 제어 시스템)의 공동 작업이 개발자가를 제공과 함께 대한 통찰력을 어느 정도에 모두가 하고 있는 것을 프로젝트에서. 이를 통해 관리자는 누가 무엇을 할 수 있는지 세밀하게 제어 할 수 있습니다.
그것은 DVS 의 개발을 주도뿐만 아니라 몇 가지 단점이 있습니다. 가장 눈에 띄는 실패의 단일 지점을 중앙 집중식 저장소를 나타내에 내려가면 그 기간 동안 협력과 절약 버전이 변경은 가능하지 않습니다. 중앙 데이터베이스의 하드 디스크가 손상되고 적절한 백업이 유지되지 않은 경우 어떻게해야합니까? 당신은 절대적으로 모든 것을 잃습니다.
분산 버전 관리 시스템:분산 버전 관리 시스템을 포함하는 여러냅니다. 각 사용자는 자신의 저장소와 작업 사본을 가지고 있습니다. 변경 사항을 커밋하기 만하면 다른 사람에게 변경 사항에 대한 액세스 권한을 부여하지 않습니다. 커밋은 해당 변경 사항을 로컬 리포지토리에 반영하고 중앙 리포지토리에서 볼 수 있도록하기 위해이를 푸시해야하기 때문입니다. 마찬가지로 업데이트 할 때 먼저 해당 변경 사항을 저장소로 가져 오지 않는 한 다른 변경 사항을 얻지 못합니다.
의 변경 다른 사람에게 보이는,4 것이 필요합니다.
- 커밋
- 를 밀어
- 그들이 풀
- 그들이 업데이트
가장 인기있는 분산 버전 관리 시스템 Git,Mercurial. 그들은 우리가 단일 실패 지점의 문제를 극복하는 데 도움이됩니다.
Purposeof 버전 관
- 여러 사람이 동시에 작동할 수 있는 단일 프로젝트입니다. 모두에서 작동 및 편집하는 자신의 파일의 복사본을 때 그들을 공유하고 싶은 변화에 의해 만들어 그들의 나머지 부분과 팀이 있습니다.
- 수 있는 한 사람이 여러 컴퓨터를 사용하여 프로젝트 작업,그래서 그것은 소중한 경우에도 작업하고 있습니다.
- 그것은 팀의 다른 구성원에 의해 동시에 수행되는 작업을 통합합니다. 에 몇몇 희소한 경우,충돌하는 편집으로 두 사람의 동일한 행 파일,그는 인간의 지원을 요청한 버전 관리 시스템에서 결정해야 합니다.
- 버전 제어는 프로젝트의 과거 버전에 대한 액세스를 제공합니다. 이것은 컴퓨터 충돌이나 데이터 손실에 대한 보험입니다. 실수가 있으면 이전 버전으로 쉽게 롤백 할 수 있습니다. 또한 그 사이에 수행 된 작업을 잃지 않고 너무 특정 편집을 취소 할 수 있습니다. 언제,왜,그리고 누구에 의해 파일의 어떤 부분이 편집되었는지 쉽게 알 수 있습니다.