깡뇽

[IT면접] 토픽1 - 형상관리 본문

카테고리 없음

[IT면접] 토픽1 - 형상관리

깡뇽 2024. 2. 27. 18:43
반응형

ChatGPT 참고 정리.

 

형상관리(version control)

: 소프트웨어 개발 및 다른 협업 프로젝트에서 파일이나 문서의 변화를 관리하고 추적하는 프로세스

소프트웨어 개발뿐만 아니라 문서 작성, 그래픽 디자인, 웹 개발 등 다양한 분야에서 활용.

형상관리 시스템은 소스코드나 파일의 버전을 관리하며, 여러 명의 개발자나 작업자들이 동시에 작업할 때 발생할 수 있는 출동을 방지하고 협업을 용이하게 함.

 

- 형상관리의 주요 기능 및 이점

1) 버전 관리 : 파일의 모든 변화 추적, 이전 버전과의 차이 비교 가능 → 특정 시점으로 돌아갈 수 있고, 작업 과정에서 발생한 문제 해결 가능

2) 협업 지원 : 여러 사용자가 동시에 작업할 때 버전 간 충돌 방지, 변경 내역 쉽게 공유 및 통합 가능

3) 백업 및 복구 : 파일의 변화 안전하게 저장하여 데이터 손실 방지, 필요 시에 이전 버전으로 복구 가능

4) 추적성과 투명성 : 누가 언제 어떤 변경을 했는지 추적하여 프로젝트의 투명성 유지, 오류 찾고 수정 시에 유용

5) 브랜치와 병합 : 작업의 독립성을 유지하기 위해 브랜치 생성 가능, 이후 작업 병합을 통해 복잡한 작업 흐름 관리

6) 품질 향상 : 변경 사항 검토 및 테스트 과정을 통해 소프트웨어 품질 향상시키기 가능

 

- 형상관리 시스템

Git, Subversion, Mercurial, CVS 등

 

- Git

오픈 소스, 빠르고 유연하며 강력한 분산 버전 관리 기능 제공.

2005년 리누스 토르발스에 의해 개발되었으며, 초기에는 Linux 커널 개발을 위해 만들어짐.

주로 명령줄 인터페이스로 작업. GUI 도구로서 GitHub, GitLab, Bitbucket 등의 호스팅 서비스 존재.

1) 분산형 버전 관리 : 모든개발자의 로컬 컴퓨터에 저장소 복제하여 작업 수행 가능. 네트워크 연결 없이도 작업 가능. 중앙 서버에 의존하지 않으므로 유연성과 안정성 제공 

2) 브랜치 : 브랜치를 통해 여러 개발자의 동시 작업 지원. 각 브랜치는 독립적으로 관리되며, 작업이 완료되면 다른 브랜치로 병합 가능 → 복잡한 작업 흐름 관리 가능.

3) 속도와 성능 : 빠른 속도와 효율적인 리소스 관리 제공. 작업 속도 빠르고 대용량 프로젝트도 효율적으로 관리 가능

4) 오픈 소스 및 커뮤니티 : 오픈소스이기에 전 세계적 커뮤니티 존재. 다양한 플러그인, 도구, 자료 등을 얻을 수 있고 문제 발생 시에 빠르게 해결 가능

5) 변경 내역 추적 : 파일의 변경 내역을 체계적으로 추적. 각 변경 내역에 대해 주석을 추가하여 작업 내용 쉽게 이해 가능

6) 비선형적 개발 : 다양한 브랜치 및 병합 전략을 통해 비선형적 개발 지원 → 복잡한 작업 흐름을 유연하게 관리

 

반응형