나는 최근에 코드를 버전 제어 (실습, SVN 및 github (명확하게 git))에서 코드를 시작하기 시작했다. 버전 관리를 사용하기 전에 이런 식으로 작업했습니다. 버전 번호가있는 많은 폴더 안에 라이브러리 이름의 폴더가 있습니다. 새로운 버전으로 작업을 시작할 때마다 마지막 버전을 복사하고 이름을 새 버전으로 변경 한 다음 구현을 시작합니다.
그러나 이것은 폴더가 버전 제어하에있을 때 중복되는 것처럼 보입니다. 누군가가 최신 버전을 다운로드하고자하는 경우 별도로 중복에서, 그들은 모든 버전의 경우 그가 바로 다운로드 할 것 import
S / clone
S를.
이제 버전 제어 로이 작업을 수행하는 여러 가지 방법을 보았지만 처음 사용하기 때문에 유지 관리가 더 쉬운 방법을 모르겠습니다.
방법 1 : 태그 사용
태그를 올바르게 이해했다면 메인 브랜치가 있고 변경 사항을 커밋하고 버전으로 태그를 지정합니다. 그런 다음 작업 사본을 얻으려면 특정 태그가있는 사본을 얻습니다. (틀 렸으면 말해줘)
방법 2 : 분기 버전
이 방법에서 주요 지점은 개발 지점입니다. 언제든 안정적인 버전이 만들어지고 (라고합시다 v1.2.0
), 해당 버전에 대한 브랜치를 만들고 절대 커밋하지 마십시오. 이렇게하면 특정 버전을 다운로드하려는 경우 해당 지점에서 코드를 얻습니다. 나는 당신이 그것에 최선을 다하지 않겠다고 말했지만, 버그 수정을하고 구 버전의 브랜치를 구하여 구 버전을 계속 실행할 수있다. 예를 들어 현재 버전 인 경우 v2.0
만 사용하려는 사람들이있다 v1.2
, 당신은에서 다른 지점 얻을 수있는 v1.2
, 즉를, v1.2.1
그리고 버그 수정을 커밋하거나 같은 버전을 동일하게 유지 v1.2
그냥 버그 수정을 커밋은.
따라서 가지는 다음과 같습니다.
v1.2.1 v1.2.2
/ /
v1.0.0 v1.2.0--------- v2.0.0
/ / /
-------------------------------------- dev
이렇게하면 모든 부 버전 업데이트에 대한 분기가 있습니다. (위의 그래프에서 v1.2.1 및 v1.2.2 또는 v2.0.0이 릴리스 된 후 작성되었으므로 v1.2.0과 v2.0.0 사이의 개발에 포함되지 않았습니다. 이전 버전에 대한 지원으로 생각하십시오)
방법 3 : 분기 개발
이 방법은 이전과 반대입니다. 주요 지점은 최신 안정 버전입니다. 새 버전으로 작업 할 때마다 (개발 용) 브랜치를 만들고 코드 작업을하고 코드가 안정되면 메인 브랜치와 병합하십시오.
이 경우 가지는 다음과 같습니다.
________ ____ ________________ _____ dev
/ \/ \/ \/
---------------------------------- latest_version
아마도 이것은 태그와 함께 수행되어야합니까?
질문!
어쨌든, 나의 질문은 당신의 경험에 근거하여,이 방법들 중 어느 것이 더 실용적이라는 것입니까? 알려진 최선의 방법이 있습니까 (아마도 내가 알아 내지 못했을 수도 있음)? 이런 일들이 일반적으로 어떻게 이루어 집니까?