TFS 레이블 및 변경 집합을 사용하여 dev 분기에서 test 및 생산 분기 사이의 작업을 쉽게 동기화합니다. SVN에서 내 머리 글자를 쓸 수 없다 ... 처음에는 변경 세트를 만들려면 어떻게해야합니까? 명령 줄 도구를 사용해야합니까? VS2015 및 VSN 플러그 인을 사용하고 있습니다. 2.5.12 라벨을 만드는데도 동일합니다. - 선택한 변경 세트 그룹을 구성하는 라벨을 만든 다음 다른 분기로 게시하는 것이 바람직합니까?SVN (Subversion 소스 제어)을 사용하여 레이블 및 변경 집합을 사용합니다.
답변
Windows 용 tortoiseSVN GUI 도구를 사용할 수 있습니다. 그것은 무료입니다.
SVN은 트렁크와 작동합니다. 각각의 모든 커밋은 동일한 트렁크 (git의 마스터 브랜치와 같은)로 간다. 마지막으로 tortoiseSVN 병합을 사용하여 이전 릴리스와 병합 할 수 있습니다 (Windows를 사용하는 경우 원본 폴더를 마우스 오른쪽 단추로 클릭하면 tortoiseSvn 옵션이 표시됨).
TFS 변경 세트는 (다소) SVN 커밋과 비슷합니다. 변경 목록은 로컬 작업 공간 조직의 클라이언트 도구 일뿐입니다 (기본 사항을 숙지 할 때까지 변경 목록을 무시해야합니다). 커밋은 보통 "trunk"라는 "master"브랜치에서 가장 일반적으로 단일 브랜치에서 수행됩니다. 각 커밋은 선형으로 증가 된 자연수로 처리되므로 개정이라고합니다.
한 지점에서 다른 지점으로 커밋을 병합 할 수 있지만이 방법으로 새 커밋을 만듭니다 (병합 된 커밋은 svn 데이터 구조 내에 기록됩니다).
SVN의 레이블을 태그이라고하며 특정 폴더의 상태 (일반적으로 지점 또는 트렁크)의 간단한 복사본입니다. 보통은 배치 지점, 트렁크 및 태그에 대한 특정 저장소 구조이 있습니다
루트
- 지점/
- 태그/예는 빛을 흘렸다
- 당신은 /branches/release_1.0에 버그 수정을 생성하고 (계 7 작성)
향후 버전이 버그 수정을 유지할 수 있도록, 트렁크에 버그를 "병합"할 그것을 최선을 다하고 있습니다. 이를 위해 레프트를 병합합니다. 7에서 /지점/릴리스 1.0 ~ /트렁크 따라서 rev. 8 (역사 속에서 당신이 회전을 볼 수 있습니다 로그인합니다. 8은 기본적으로 회전한다. 7 트렁크에 합병)
당신이 에 /branches/release_1.0을 복사하여 "1.1 릴리스"등의 버그가 잡힌 버전 태그를 지정할/tags/release_1.1 기록 로그에 새로운 rev.9를 작성하면 /tags/release_1.1이 rev에서 /branches/release_1.0의 사본임을 알 수 있습니다.8
SVN에서 혼동하지 마십시오. 이것은 아주 단순한 버전 화 된 파일 시스템이며 적절한 병합이나 브랜칭 추상화와 같은 정교한 기능이 많이 부족합니다. 최신 VCS에서 오는 대부분의 사람들은 현재 추상화를 SVN 기능 (일반적으로 SVN에는 존재하지 않음)에 매핑하고 매우 산만 해지는 경향이 있습니다.