Repository 리포지터리

애플리케이션 개발에 관련된 정보를 보관해 둔 데이터베이스. 정의(定義) 정보, 설계 정보, 프로그램 및 시험 결과 등의 응용 프로그램 개발에 대한 각 공정 과정에서 발생한 정보를 축적해서 공정간에 공용하거나 궤환되도록 컴퓨터 이용 소프트웨어 공정 툴이 지원된다.

리포지토리에 격납하는 정보 모델에는 객체 지향의 모델을 채용하는 방법 외에 분산 환경에서의 개발에 대응해서 구내 정보 통신망(LAN) 서버상에 리포지토리를 두는 방법도 있다. 데이터 웨어하우스에서 사용하는 데이터의 물리 정보 및 논리 정보를 메타 데이터라 하는데, 이 메타 데이터를 격납하는 표를 리포지토리라고 부르는 경우도 있다.
출처 : 네이버 지식백과 / IT용어사전, 한국정보통신기술협회


Repository 리포지터리

조직 내의 흩어져 있는 각종 정보나 응용시스템의 개발에 관련된 정보를 모아 놓고, 서로 공유할 수 있게 한 정보의 저장소를 말한다. 정보를 사용자가 직접 검색하기도 하고, 소프트웨어를 사용하여 검색하기도 한다. 또한 하나의 정보를 통신망에 흩어놓기도 하고, 한 곳에 모아 놓기도 한다.
조직적인 방법으로 수집된 각종 자료를 모아서, 그 내용을 유지하는 중심 저장소를 뜻한다. 데이터베이스(DB)와 비슷한 역할을 하지만 엄밀하게 말하면 DB 응용분야의 하나이다.

주로 기업 내에 분산되어 있는 각종 문서와 정보들을 단일한 저장소에서 관리해주는 기술을 의미하며, 요소자료, 입출력 내용, 처리방법, 자료의 내부관계 등과 같이 응용업무 개발에 사용된 시스템의 각종 부품을 모아 놓은 정보 DB의 역할을 한다. 전자상거래나 지식관리 등 정보시스템 간의 통합관리가 요구되는 응용시스템 구축이 활기를 띠면서 중요성이 커지고 있다.

리포지터리의 자료검색은 사용자가 직접 할 수도 있고, 특수한 소프트웨어를 통해 특정 정보나 파일, 문서 등을 얻을 수도 있다. 또한 정보를 통신망에 분산시켜 놓을 수도 있고 한 곳에 집합시켜 놓을 수도 있다. 

이처럼 각종 정보의 통합관리, 활용도 제고, 유지보수의 용이성이라는 관점에서 보면 데이터웨어하우징(Data Warehousing:흩어져 있는 데이터를 연결해 활용할 수 있게 해주는 기술)의 메타데이터(MetaData:데이터를 이루는 요소가 되는 데이터)와 밀접한 관계가 있다. 

XML(Extensible Markup Language:인터넷용 하이퍼텍스트를 만드는데 사용되는 HTML을 획기적으로 개선한 차세대 인터넷 언어) 문서를 효과적으로 저장하고 관리해주는 국산 XML 리포지터리 관리시스템이 개발·출시된 바 있다.
출처 : 네이버 지식백과 / 두산백과 두피디아, 두산백과


Repository 리포지토리

정보 시스템의 프로그램이나 데이터 같은 각종 자원을 자원간의 관련까지 포함하여 관리하는 자원 관리 데이터 베이스. 특히 대규모 정보 시스템의 개발과 운용 에서는 모든 정보 시스템 자원을 리포지토리에서 관리하게 된다. 프로그램의 버전 관리나 데이터 항목을 변경할 경우에 수정해야 할 프로그램의 특정화 등 개발, 운용 효율 향상에 큰 효과가 있다.
출처 : 네이버 지식백과 / 컴퓨터인터넷IT용어대사전, 2011. 1. 20., 전산용어사전편찬위원회


Repository 리포지터리

정보기술에서, 리포지터리는 데이터 집합체가 보관되고 조직적인 방식으로 유지되는 대체로 컴퓨터 저장장치 내의 주요 장소이다. 이 용어는 물건을 넣어둘 수 있는 용기나 방이라는 뜻의 라틴어인 repositorium에서 유래되었으며, 물건들이 모여지는 장소를 의미한다. 이 용어는 어떻게 사용되느냐에 따라, 리포지터리는 사용자가 직접 액세스할 수 있거나, 또는 네트웍 내에서의 재배치나 배포를 위해 특정 데이터베이스, 파일, 또는 문서들이 획득되는 장소일 수 있다. 리포지터리는 저장장치의 일부 접근 가능한 장소 안에 들어가는 데이터 집합체 그 자체이거나, 또는 데이터를 선택적으로 추출하는 어떤 능력을 의미할 수도 있다. 관련되는 용어로는 데이터 웨어하우스와 데이터 마이닝이 있다.
출처 : http://www.terms.co.kr/repository.htm


Repository 리포지토리

리포지토리란 무엇인가요?
Repository 또는 repo는 개발자가 애플리케이션 소스 코드에 대한 변경을 수행 및 관리하는 데 사용하는 중앙화된 디지털 스토리지입니다. 개발자는 소프트웨어를 개발할 때 폴더, 텍스트 파일 밑 기타 유형의 문서를 저장 및 공유해야 합니다. 리포는 개발자가 쉽게 코드 변경 사항을 추적하고, 파일을 동시에 편집하고 어디에서든 동일한 프로젝트에서 효율적인 협업을 수행할 수 있게 해 주는 기능을 갖추고 있습니다. 

리포지토리가 중요한 이유는 무엇인가요?
리포지토리를 사용하면 소프트웨어 개발 팀이 기본 소스 코드를 손상시키지 않으면서 소프트웨어의 프로그램 코드를 여러 번 변경할 수 있습니다. 변경 사항을 기본 분기에 직접 적용하는 것이 아니라, 리포지토리의 기능을 사용하여 변경 사항을 편집하고 검토합니다. 이렇게 하면 둘 이상의 개발자가 코드의 동일한 부분을 편집할 때 병합 충돌이 줄어듭니다. 

또한 개발자들은 애플리케이션의 프로덕션 버전에 영향을 미치지 않으면서 새로운 기능이나 버그 수정을 적용하기 위해 리포지토리를 사용합니다. 작업할 로컬 리포지토리로서, 새 분기 또는 원본 소스 코드의 복사본을 생성합니다. 이렇게 하면 개발자가 고객에게 릴리스하기 전에 새로운 변경 사항을 제대로 테스트할 수 있습니다. 

리포지토리가 기업에 제공하는 이점
기업이 애플리케이션 개발에 리포지토리를 활용하면 변화하는 소비자의 요구에 더욱 민첩하게 대응할 수 있습니다. 개발자는 실시간 애플리케이션의 안정성에 영향을 미치지 않으면서 새로운 기능에 대한 작업을 빠르게 수행할 수 있습니다. 리포지토리는 개발자가 변경 사항을 적용하고 잠재적인 문제를 빠르게 해결할 수 있도록 해줍니다. 또한 조직은 원격으로 작업하는 개발자 간에 애플리케이션 개발 작업을 조율할 수 있습니다. 

GitHub 리포지토리란 무엇인가요?
GitHub는 개발자가 프로젝트 코드를 체계적으로 저장하고 작업할 수 있는 클라우드 기반 리포지토리입니다. GitHub는 버전 관리 시스템인 Git를 기반으로 하며 개발자 간의 협업을 개선하는 추가 기능을 제공합니다. GitHub는 리포지토리 기능을 간편하게 사용할 수 있는 그래픽 UI를 제공합니다.

또한 GitHub는 개발자를 위한 온라인 오픈 소스 커뮤니티가 되었습니다. 개발자는 GitHub의 공개 프로젝트에서 토론에 참여하고, 도움을 주고, 전문 지식을 제공하면서 동료 개발자와 소통할 수 있습니다. 

GitHub는 전 세계 개발자 커뮤니티 사이에서 가장 인기 있고 자주 사용되는 리포지토리이므로, 이 블로그 게시물에서는 GitHub 리포지토리를 집중적으로 다룹니다.

GitHub 리포지토리는 어떻게 작동하나요?
GitHub 리포지토리를 사용하면 개발자가 로컬에 설치된 버전 관리 도구를 사용하여 원격으로, 분산 방식으로 협업할 수 있습니다. 개발자들은 버전 제어 소프트웨어인 Git에서 명령줄 인터페이스를 사용하여 기능을 구현합니다.

Git는 개발자들이 코드 변경 사항을 생성하고, 관리하고, 기본 소스 코드와 병합할 수 있게 해줍니다.

Create 생성
먼저 개발자는 프로젝트의 디렉터리에 코드 파일이 들어 있는 새 리포지토리를 생성합니다. 또는 기존 Git 리포지토리를 복제할 수도 있습니다. Git 리포지토리에는 일반적으로 프로젝트를 설명하는 정보가 표시된 README 파일이 포함되어 있습니다.

Configure 구성
로컬 리포지토리를 변경하기 전에 개발자는 사용자 이름 및 이메일과 같은 정보를 추가하여 리포지토리를 구성합니다. 이를 통해 공동 작업자가 특정 Git 리포지토리의 작성자를 식별할 수 있습니다. 그런 다음 개발자는 git commit 명령을 사용하여 코드를 변경하고 저장할 수 있습니다. 

Change 변경
개발자가 리포지토리의 코드를 변경합니다. 처음에는 변경 내용이 로컬 시스템에만 저장됩니다. 준비가 되면 변경 사항을 중앙 리포지토리에 병합할 수 있습니다. 다른 개발자가 동일한 파일을 변경할 경우, 해당 개발자는 수동으로 검토하면서 충돌을 해결할 수 있습니다. 


GitHub 리포지토리의 주요 기능은 무엇인가요?
GitHub 리포지토리는 개발자에게 다음을 지원하는 중앙 집중식 코드 버전 관리, 공유 및 협업 기능을 제공합니다. 

Branching 분기
분기는 GitHub에 리포지토리 복사본을 생성하는 프로세스입니다. 기본적으로 GitHub 리포지토리에는 개발자가 처음에 업로드하는 원본 소스 코드와 파일이 포함된 기본 분기가 있습니다. 코드의 특정 부분을 수정해야 하는 경우 코드 파일의 전체 복사본이 포함된 분기를 만들고 그에 따라 분기에 레이블을 지정합니다.

개발자는 기본 리포지토리에서 여러 분기를 만들 수 있습니다. 예를 들어 개발자는 새 소프트웨어 기능의 코드를 작성하는 기능 분기를 하나 만들고, 보고된 문제를 해결하는 분기를 또 하나 만들 수 있습니다.

Commit 커밋
커밋은 개발자가 코드 파일에 대해 변경한 내용을 모두 분기에 저장할 수 있도록 하는 기능입니다. GitHub는 개발자가 변경 사항을 커밋할 때, 코드에 적용한 새로운 변경 사항을 설명할 수 있도록 합니다. 개발자가 변경 사항을 설명하면, 팀원이 해당 변경 사항과 변경한 이유가 무엇인지를 알 수 있습니다. 

Pull request 풀 요청
풀 요청은 기본 분기에 대해 작업을 수행하는 다른 작업자 또는 분기 소유자에게 커밋된 변경 사항을 검토하라는 공식 메시지를 보냅니다. 다른 작업자들은 병합을 위해 원래 커밋을 제출하기 전에 커밋을 검토하거나, 커밋에 주석을 추가하거나, 추가로 변경할 수 있습니다. 풀 요청을 검토할 때 작업자는 원래 코드의 변경 사항을 확인할 수 있습니다. 

Merging 병합
병합은 커밋된 변경 내용을 기본 분기에 적용하는 GitHub 프로세스입니다. 이 작업은 작업자가 커밋된 변경 사항을 검토하고 승인할 때 수행됩니다. 그런 다음 작업자는 GitHub에서 병합 요청을 호출하여 변경 내용을 원래 코드에 병합하기 전에 일련의 검사를 실행합니다. 

Git 리포지토리의 유형에는 어떤 것들이 있나요?
개발자는 권한 수준이 다른 두 가지 유형의 Git 리포지토리를 생성할 수 있습니다. 

베어 리포지토리
베어 리포지토리에는 인덱스 폴더만 포함됩니다. 개발자는 베어 리포지토리의 파일을 수정할 수 없습니다. 

넌베어 리포지토리
넌베어 리포지토리에는 소스 파일의 복사본이 저장됩니다. 개발자는 이 복사본을 작업에 사용하고 이 복사본에 변경 사항을 커밋할 수 있습니다.

AWS는 리포지토리 요구 사항을 어떻게 지원하나요?
Amazon Web Services(AWS)에서 AWS CodeCommit은 프라이빗 Git 리포지토리를 안전하게 호스팅하는 데 사용할 수 있는 온라인 코드 버전 관리 시스템입니다. CodeCommit은 기존 Git 기반 도구와 통합되어 원활한 지속적 전달 및 지속적 통합(CI/CD) 파이프라인을 구성합니다. 다음은 CodeCommit을 사용하는 몇 가지 방법입니다:

전송 중과 저장 시에 암호화를 통해 코드를 자동으로 보호
리포지토리를 AWS 환경에 보다 가까운 위치에 유지
AWS 클라우드에서 안전하고 확장 가능한 코드 협업 워크플로 설정
지금 AWS 계정에 가입하여 리포지토리 사용을 시작하세요.  네

출처 : https://aws.amazon.com/what-is/repo/?nc1=h_ls ^^

+ Recent posts