Git 저장소는 Git으로 관리하는 프로젝트 저장소를 의미한다. 이는 프로젝트의 파일과 디렉토리를 포함하며, 버전 관리를 통해 파일의 변경 이력을 추적할 수 있게 한다. Git 저장소를 통해 프로젝트의 상태를 특정 시점으로 복원할 수 있으며, 협업 시 여러 개발자 간의 코드 변경 사항을 통합하고 충돌을 해결할 수 있다.
Git 저장소는 다음과 같은 주요 기능을 제공한다:
- 버전 관리: 각 파일의 변경 이력을 기록하고, 필요 시 이전 버전으로 복원할 수 있다.
- 분산 저장소: 각 개발자가 자신의 로컬 저장소를 가지고 작업할 수 있으며, 중앙 원격 저장소를 통해 변경 사항을 공유한다.
- 브랜칭과 병합: 브랜치를 생성하여 독립된 작업을 진행하고, 완료된 후에는 병합을 통해 메인 브랜치에 반영할 수 있다.
- Local 저장소: 사용자의 컴퓨터에 존재하는 저장소를 의미한다. 로컬 저장소는 개발자가 자신의 컴퓨터에서 작업할 수 있는 독립적인 환경을 제공하며, 네트워크 연결 없이도 Git의 모든 기능을 사용할 수 있다. 로컬 저장소는
git init
명령어를 통해 생성할 수 있다.
- Remote 저장소: 원격 서버에 존재하는 저장소를 의미한다. 원격 저장소는 여러 개발자 간의 협업을 위해 중앙 집중식 저장소 역할을 하며, GitHub, GitLab, Bitbucket과 같은 서비스에 호스팅될 수 있다. 로컬 저장소에서 작업한 변경 사항을 원격 저장소에 푸시(push)하여 공유하고, 다른 개발자의 변경 사항을 풀(pull)하여 통합할 수 있다.
Git Init
명령어는 아직 버전 관리가 이루어지지 않은 프로젝트 폴더를 Git 저장소로 변환하는 명령어이다.
git init
Git Clone
명령어는 Remote 저장소를 Local에 복사하여 사용할 수 있도록 하는 명령어이다.
git clone <remote_repository_url>
git clone https://github.com/<organization>/<project_name>.git
토큰을 이용하여 Git 저장소를 복제할 때 사용하는 명령어이다.
git clone https://<token>@github.com/<user_name>/<project_name>.git
Git을 연습할 작업 공간을 만들고, 프로젝트 폴더를 생성하여 해당 폴더를 Git 저장소로 변환한다.
mkdir my_project
cd my_project
git init
.git
디렉토리가 생성되었는지 확인하고, 해당 디렉토리 내부를 탐색하여 Git 저장소가 정상적으로 생성되었는지 확인한다.
git init
명령어를 통해 작업공간 자체 Git 저장소로 변환하면, 해당 폴더 전체가 레포지토리가 된다. 이 점을 유의하여 작업 공간을 설정해야 한다.
GitHub을 이용하여 원격 저장소를 생성하고, 이를 Local로 복사하는 방법을 설명한다.
- GitHub에서 New Repository를 선택한다.
- 저장소 이름 및 기타 설정을 입력한 후, Create 버튼을 클릭한다.
- 생성된 저장소의 주소를 복사한다.
- User Settings로 이동한다.
- 페이지 하단의 Developer Settings를 선택한다.
- Personal access tokens > Tokens (classic)을 선택한다.
- Generate new token (classic)을 클릭한다.
- 기한 및 접근 권한을 설정한 후, Generate 버튼을 클릭한다.
- 생성된 토큰을 복사하여 안전한 곳에 저장한다.
git clone https://<token>@github.com/<user_name>/<project_name>.git
Git 설정을 확인하기 위해 다음 명령어를 사용한다.
git config --list
git config --list --show-origin
git config <key>