관리 메뉴

IT 컴퓨터공학 자료실

버전 관리 시스템(バージョン管理システム)에 대해 본문

etc.. 기타 카테고리 2/영어 번역 & 일본어 번역

버전 관리 시스템(バージョン管理システム)에 대해

윤맨1 2015. 7. 14. 22:55

バージョン管理システムの最も基本的な機能は、ファイルの作成日時、変更日時、変更点などの履歴を保管することである。これにより、何度も変更を加えたファイルであっても、過去の状態や変更内容を確認したり、変更前の状態を復元することが容易になる。更に、多くのバージョン管理システムでは、複数の人間がファイルの編集に関わる状況を想定している。商業的なソフトウェア開発やオープンソースプロジェクトなどでは、複数の人間が複数のファイルを各々編集するため、それぞれのファイルの最新の状態が分からなくなったり、同一ファイルに対する変更が競合するなどの問題が生じやすいが、バージョン管理システムは、このような問題を解決する仕組みを提供する。ただし、バージョン管理システムを個人のファイル管理に使用することも可能であるし、ソフトウェアのソースコードだけでなく、設定ファイルや原稿の管理などにも使うことも可能である。


형상 관리 시스템의 가장 기본적인 기능은 파일의 생성 날짜와 시간 변경 일시, 변경 사항 등의 기록을 보관하기 위한 것이다. 그렇게 하면 여러 번 변경 한 파일도 과거의 상태와 변경 사항을 확인하거나 변경 전의 상태로 복원하는 것이 용이하게 된다. 상업적인 소프트웨어 개발 및 오픈소스 프로젝트 등에서는 여러 사람이 여러 개의 파일을 각각 편집하기 위해 각 파일의 최신 상태를 알 수 없게 되거나 동일한 파일에 대한 변경이 충돌하는 등의 문제가 생기기 쉽다. 형상 관리 시스템은 이러한 문제를 해결하는 방법을 제공한다. 형상 관리 시스템을 개인의 파일 관리에 사용하는 것도 가능하다. 그리고 소스 코드뿐만 아니라 설정 파일 및 문서 관리 등에도 사용할 수 있다.


管理方式

형상을 관리하는 방식


バージョン管理システムでは、ファイルの各バージョンをデータベースに保持しており、このデータベースを一般にリポジトリと呼ぶ。

バージョン管理システムの基本的な利用方法は以下の流れになる。


  1. ファイルをリポジトリに登録する。
  2. ファイルをリポジトリからローカル環境に取り出す(チェックアウト)
  3. ローカル環境で、ファイルに対し変更を行う。
  4. 変更したファイルをリポジトリに書き戻す(チェックイン)

ファイルがチェックインされると、システムによって「いつ」「誰が」「どんな変更を行った」等が記録され、後から参照できる。また必要に応じて古い版を取り出すことも出来る。

これらを行うユーザインタフェースは、CUIGUIなど様々である。また、統合開発環境を組み合わせて使用できるものもある。


버전 관리 시스템에서는 파일의 버전을 데이터베이스에 보관하고 있으며, 이 데이터베이스를 일반적으로 저장소(Repository)라고 부른다. 버전 관리 시스템의 기본적인 이용 방법은 아래와 같은 흐름 진행된다.

 

1. 파일을 저장소에 등록한다.

2. 파일을 저장소에서 로컬 환경으로 꺼낸다. (체크 아웃)

3. 로컬 환경에서 파일을 변경을 실시한다.

4. 수정 된 파일을 저장소에 다시 되돌려 보낸다. (체크인)

 

파일을 체크인하면 시스템에 의해 언제」 「누가」 「어떤 변경했다등이 기록되어 나중에 참조 할 수 있다. 또한 필요에 따라 이전 버전을 검색 할 수도 있다.

이 방식에 대한 사용자 인터페이스는 CUI, GUI등 방식이 다양하다. 또한 통합 개발 환경을 함께 사용할 수 있는 것도 있다.


リポジトリ

저장소(Repository)


個人向けのRCSなどは作成したファイルを即座にリリースできるがCVSSubversionなどの共同利用向けのシステムの場合最初リポジトリばれるファイル管理向けのディレクトリを用意するリポジトリの作成作業基本的にシステムまたはプロジェクトの管理者作業者はそれにしてファイルをコミットチェックイン)、チェックアウトする

リポジトリが集中しているシステムを単一リポジトリ複数あるものを分散リポジトリという

リポジトリが破損してファイルが復旧できなくなることがありリポジトリの定期的なバックアップは必須とされている



개인용도의 형상관리 시스템에서는 작성한 파일을 바로 릴리즈 할 수 있으나 공동으로 이용하는 형상관리 시스템의 경우 먼저 "저장소" 라고 하는 파일 관리를 위한 디렉토리를 준비한다. 저장소의 생성 은 기본적으로 시스템 관리자 또는 프로젝트 관리자가 수행하며, 작업자는 그에 대해 파일을 체크인과 체크아웃을 한다.

저장소가 한 곳에 집중되어 있는 시스템을 단일 리포지토리, 저장소가 여러 곳에 있는 시스템을 분산 리포지토리라고 한다.

저장소가 손상되어 복구시키지 않으면 안되는 상황을 막기위해서는 정기적인 백업은 항상 해줘야 한다.


チェックアウト

체크아웃


リポジトリからデータをすことをチェックアウトと

CVSSubversionではリポジトリからめてデータをしローカルに保存することをチェックアウトとそれ以降再度かによって更新されたリポジトリからデータをしてデータを最新版つことはチェックアウトとはばずアップデートと

Visual SourceSafe (VSS) ではリポジトリからファイルをすだけでなくさらにそのファイルにロックをかけてチェックアウトしたがそのファイルをチェックインするまで編集できないようになることをチェックアウトとCVSSubversionとはチェックアウトの定義若干異なるただしVSSはソフトウェアのバージョンや設定次第でロックをかけないようにすることもできる

リポジトリからチェックアウトしたしばらくのにだれかがリポジトリに最新版のデータをコミットチェックインしている可能性があるのでコンフリクト衝突けるためにチェックアウトしたデータでの作業めるやコミットチェックインするずローカルをアップデートVSSではリフレッシュとして最新版状態つことが推奨されている


 

저장소에서 데이터를 꺼내는 것을 체크아웃이라고 부른다.

, 저장소에서 처음으로 데이터를 가져 로컬에 저장하는 것을 체크아웃이라고 부른다. 이후에 다시 다른 사람에 의해 업데이트 된 저장소에서 데이터를 추출하여 데이터를 최신 버전으로 유지하는 것은 체크아웃이라고 부르지 않고 업데이트라고 부른다.

 

저장소에서 체크아웃을 한 후 잠시 동안 누군가가 저장소에 최신 버전의 데이터를 커밋(체크인)하고 있을 가능성이 있기 때문에 충돌을 피하기 위해 체크아웃 한 데이터로 작업 시작 전이나 커밋 (체크인)하기 전, 반드시 항상 최신 상태로 로컬 업데이트하여 유지하는 방법이 권장되고 있다.


チェックイン

체크인


リポジトリへファイルをむことをチェックインやコミットとVSSではリポジトリからファイルをすだけでなくさらにそのファイルにロックをかけてチェックアウトしたがそのファイルをチェックインするまで編集できないようにする


 

저장소에 파일을 써 넣는 것을 체크인이라고 부른다. VSS에서는 저장소에서 파일을 검색하는 것뿐만 아니라 또한 그 파일에 잠금을 체크아웃 한 사람이 파일을 체크 인 할 때까지 다른 사람이 편집 할 수 없도록 해놓았다.


ロック方式とコピー・マージ方式

잠금 방식(Lock)과 복사 병합 방식(Copy & Merge)


ひとつのファイルにしてなる変更同時われるとファイルの一貫性てなくなってしまうバージョン管理システムではこのような問題ぐための仕組みが用意されているがその方法きく二種類けられるひとつがロックいる方法もうひとつがコピー・マージいる方法である

ロック方式ではユーザーは編集するファイルにロックをかけのユーザーが編集できないようにしておき編集完了したらロックを解除する単純確実仕組みではあるがのユーザはファイルの編集完了までたなければならず効率また無責任なユーザがファイルにロックをかけたまま放置してしまうなどの危険性もあるそのためグループでの利用よりも個人によるファイル管理している

コピー・マージ方式では編集するファイルをシステムからユーザーのにコピーしこのコピーを編集する編集完了後変更した部分をシステム反映させるがこの作業をマージとのユーザの編集中でもシステムからのコピーは自由えるようにすることで複数のユーザが同時編集作業められるためグループでの利用いているただしそれぞれのユーザによる変更競合する場合にはマージする時点解決する必要がある一般的には変更内容競合するをユーザーにらせ内容確認修正させる方法がとられることが


 

하나의 파일에 대해 다른 변경이 동시에 이루어지면 파일의 일관성을 유지할 수 없게 되어 버린다. 형상관리 시스템에서는 이러한 문제를 방지하기 위한 구조가 준비되어 있지만, 그 방법은 크게 두 가지로 나뉜다. 하나가 "잠금(Lock)"을 이용하는 방법이고 다른 하나는"복사 병합(Copy&Merge)"을 이용하는 방법이다.

 

잠금 방식은 사용자가 편집 할 파일에 잠금을 다른 사용자가 편집 할 수 없도록 해두고, 편집이 완료되면 잠금을 해제한다. 간단하고 확실한 방법이지만 다른 사용자는 파일의 편집 완료까지 기다려야하고 효율이 나쁘다. 또한 무책임한 사용자가 파일에 잠금을 쓴 채 방치 해 버리는 등의 위험성도 있다. 따라서 그룹의 이용보다 개인에 의한 파일 관리에 적합하다.

 

복사 병합 방식은 편집 할 파일을 시스템에서 사용자의 시스템으로 복사하고 그 사본을 편집한다. 편집 완료 후 변경 한 부분을 시스템 측에 반영하는 작업을 병합(Merge)이라고 부른다. 다른 사용자의 편집 중에도 시스템에서 복사 자유롭게 할 수 있도록 하는 것으로, 여러 사용자가 동시에 편집 작업을 진행할 수 있기 때문에 그룹으로 작업하는 경우에 이용되고 있다. 그러나 각각의 사용자에 의한 변경이 충돌 할 경우에는 병합하는 시점에서 해결할 필요가 있다. 일반적으로 변경 내용이 충돌한다는 뜻을 사용자에게 알리고 내용을 확인, 수정시키는 방법이 취해지는 경우가 많다.


バージョン番号タグブランチ

버전 번호, 브랜치와 태그


バージョン管理システムを利用する場合ファイルにしてバージョンリビジョン番号付加されるRCSCVS場合通常1.1からまりファイルの編集われる最後数値がインクリメントされるその指定せずにファイルをチェックアウトした場合最新のファイルをすことになるがこのバージョン番号利用することによって以前編集したファイルをすこともできるようになるシステムによってはバージョン番号だけでなく日付時刻によってファイルをチェックアウトすることも可能になる

タグとはバージョン管理番号とはファイルにして特定名前付与することであるリポジトリのファイルにして一括したタグをつけるよくということによって特定のリポジトリの状態簡単すことができるようになるベータ・リリース移植版などプロジェクトの区切りがついた時点でタグをつけることがよくわれている

ブランチはリポジトリを分岐させることでプロジェクトを分岐させ複数方向開発並行してめることができる大規模開発プロジェクトで、「開発版」「安定版とプロジェクトの方向性をわけたいときには有効であるバージョン管理システムのには複数方向にわかれたブランチをまとめる機能をもつものもある


 

형상관리 시스템을 이용하는 경우, 파일에 버전 (개정판) 번호가 부가된다. RCSCVS 의 경우 일반적으로 1.1에서 시작하여 파일의 편집이 이루어질 때 마다 마지막 수치가 증가된다. 그 후는 아무것도 지정하지 않고 파일을 체크아웃 한 경우 최신 파일을 검색하게 되는데, 이 버전 번호를 이용하여 이전에 편집 한 파일을 검색 할 수도 있게 된다. 시스템은 버전 번호뿐만 아니라 날짜, 시간에 의해 파일을 체크아웃 할 수 있게 된다.

 

태그(Tag)는 버전 관리 번호와는 별도로 파일에 대해 특정 이름을 부여하는 것이다. 특히 저장소에 있는 파일에 대해 일괄 태그를 붙여 특정 저장소의 상태를 쉽게 꺼낼 수 있게 된다. 베타 릴리스 버전 · 포팅 등 프로젝트의 구분이 필요한 시점에 태그가 붙여진다.

 

브랜치(Branch)는 저장소를 분기시킴으로써 프로젝트를 분기시켜 여러 방향으로 개발을 동시에 진행할 수 있다. 대규모 개발 프로젝트에서 "개발자 버전" "안정 버전"등 프로젝트의 방향성을 나누고 싶은 경우에 효과적이다. 시스템에서 여러 방향으로 나누어 분기를 정리 기능이 있는 것도 있다.




출처 : https://ja.wikipedia.org/wiki/%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E7%AE%A1%E7%90%86%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0