Git이란?
Git은 **분산형 버전 관리 시스템(DVCS)**으로, 소스 코드의 변경 이력을 기록하고 협업을 돕는 도구입니다.
리누스 토르발스(Linus Torvalds)가 2005년에 개발했으며, 속도와 효율성을 중시한 구조로 설계되었습니다.
Git의 주요 기능
1. 버전 관리
파일의 변경 이력을 저장하여 이전 상태로 복원할 수 있습니다.
2. 분산형 구조
모든 클라이언트가 전체 코드 히스토리를 복사하여 저장하므로, 중앙 서버 없이도 작업이 가능합니다.
3. 브랜치 및 병합
서로 다른 기능 개발(브랜치)을 병렬적으로 진행하고, 이후 이를 손쉽게 통합(병합)할 수 있습니다.
4. 협업 도구
여러 개발자가 동시에 코드를 관리하며, 충돌을 최소화할 수 있는 도구를 제공합니다.
Git 기본 용어
• Repository(레포지토리)
프로젝트의 모든 파일과 히스토리를 관리하는 저장소입니다.
• Commit
변경 사항을 기록하는 명령어로, 저장소에 스냅샷을 추가합니다.
• Branch
코드 변경을 독립적으로 진행하기 위한 작업 공간입니다.
• Merge
브랜치에서 작업한 내용을 병합하는 과정입니다.
• Pull
원격 저장소의 변경 사항을 가져옵니다.
• Push
로컬 변경 사항을 원격 저장소에 반영합니다.
Git 설치 및 초기 설정
1. Git 설치
운영체제별로 Git을 설치합니다.
• Windows: Git 공식 다운로드 페이지에서 설치 파일 다운로드 후 설치.
• macOS: Homebrew를 사용하여 설치:
brew install git
• Linux: 패키지 관리자를 통해 설치:
sudo apt install git # Ubuntu/Debian
sudo yum install git # CentOS/Fedora
2. Git 초기 설정
Git 설치 후 사용자 이름과 이메일을 설정합니다.
이 정보는 커밋 기록에 포함됩니다.
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
Git 설정 확인:
git config --list
Git 사용 방법: 기본 명령어
1. 로컬 레포지토리 생성
새 프로젝트 디렉토리 생성 후 Git 초기화:
mkdir my-project
cd my-project
git init
결과: .git 폴더가 생성되고, 해당 디렉토리가 Git으로 관리됩니다.
2. 파일 추가 및 상태 확인
(1) 파일 추가 및 스테이징
echo "Hello Git" > README.md
git add README.md
(2) 현재 상태 확인
git status
3. 변경 사항 커밋
스테이징된 파일을 커밋:
git commit -m "Initial commit"
4. 원격 레포지토리 연결
GitHub와 같은 원격 저장소를 연결합니다.
(1) GitHub에서 새 저장소 생성
GitHub 계정에서 새 저장소를 만듭니다.
(2) 원격 저장소 연결
git remote add origin https://github.com/yourusername/my-project.git
(3) 초기 코드 푸시
git branch -M main
git push -u origin main
Git 브랜치와 병합
1. 새 브랜치 생성
git branch feature/new-feature
2. 브랜치로 이동
git checkout feature/new-feature
3. 브랜치 병합
작업 완료 후, 메인 브랜치에 병합:
git checkout main
git merge feature/new-feature
협업 시 사용하는 주요 명령어
1. 변경 사항 가져오기 (Pull)
git pull origin main
2. 충돌 해결
충돌이 발생한 경우 수동으로 파일을 수정한 후:
git add .
git commit -m "Resolve merge conflict"
Git 명령어 요약
명령어 | 설명 |
git init | 새로운 로컬 저장소를 생성 |
git clone <URL> | 원격 저장소를 로컬로 복사 |
git add <파일> | 변경된 파일을 스테이징 |
git commit -m "메시지" | 스테이징된 파일을 커밋 |
git status | 현재 상태 확인 |
git log | 커밋 이력 확인 |
git branch | 브랜치 목록 확인 |
git checkout <브랜치> | 브랜치로 이동 |
git merge <브랜치> | 브랜치를 병합 |
git push | 로컬 변경 사항을 원격 저장소에 반영 |
git pull | 원격 저장소의 변경 사항을 가져옴 |
git remote -v | 연결된 원격 저장소 확인 |
예제: Git으로 프로젝트 관리하기
1. 새 프로젝트 생성
mkdir example-project
cd example-project
git init
2. 파일 생성 및 커밋
echo "print('Hello World')" > main.py
git add main.py
git commit -m "Add main.py"
3. GitHub에 푸시
git remote add origin https://github.com/yourusername/example-project.git
git push -u origin main
4. 새로운 기능 개발
git branch feature/add-function
git checkout feature/add-function
echo "def new_function(): pass" >> main.py
git add main.py
git commit -m "Add new_function"
5. 브랜치 병합
git checkout main
git merge feature/add-function
'Develop' 카테고리의 다른 글
REST API 개념 및 Java를 활용한 예제 (1) | 2024.12.24 |
---|---|
[JavaScript] 엑셀 Excel 생성하기: XLSX 라이브러리 사용 예제 (1) | 2024.12.18 |
[JavaScript] Toastr js 간단하고 세련된 알림 메시지 라이브러리 (4) | 2024.12.17 |
[PostgreSQL] 나누기 연산 소수점 계산하기 (4) | 2024.12.16 |
[JavaScript] history pushState 와 replaceState 이해하기 (6) | 2024.12.11 |