Git 설치
Git을 사용하려면 먼저 시스템에 Git을 설치해야 합니다. 다음은 주요 운영 체제별 설치 방법입니다.
Linux에 Git 설치
대부분의 Linux 배포판은 패키지 관리자를 통해 Git을 설치할 수 있습니다. 이미 설치되어 있는 경우도 많습니다.
Debian/Ubuntu에서 Git 설치
sudo apt update
sudo apt install git
APT 패키지 관리자를 사용하여 Git을 설치합니다.
Fedora/CentOS/RHEL에서 Git 설치
sudo yum install git # CentOS/RHEL 7 이하
sudo dnf install git # Fedora/CentOS/RHEL 8 이상
YUM 또는 DNF 패키지 관리자를 사용하여 Git을 설치합니다.
Git 설정 (최초 1회)
Git을 설치한 후에는 커밋에 사용될 사용자 이름과 이메일 주소를 설정해야 합니다. 이 정보는 각 커밋에 기록됩니다.
사용자 이름 설정
git config --global user.name "Your Name"
Git 커밋에 표시될 사용자 이름을 설정합니다.
이메일 주소 설정
git config --global user.email "your_email@example.com"
Git 커밋에 표시될 이메일 주소를 설정합니다.
설정 확인
git config --list
현재 Git 설정을 확인합니다.
Git 기본 개념
Git을 효과적으로 사용하기 위해 알아야 할 몇 가지 핵심 개념들이 있습니다. 이러한 개념들은 Git의 작동 방식을 이해하고 작업 흐름을 최적화하는 데 도움이 됩니다.
Git의 주요 개념
- 저장소 (Repository): 프로젝트의 모든 파일, 변경 이력 및 메타데이터가 저장되는 공간입니다. 로컬 저장소와 원격 저장소로 나뉩니다.
- 커밋 (Commit): 코드 변경 사항의 스냅샷을 저장소에 기록하는 단위입니다. 각 커밋은 고유한 ID(해시)를 가지며, 이전 커밋과의 차이점을 포함합니다.
- 브랜치 (Branch): 독립적인 개발 흐름을 생성하는 포인터입니다. 새로운 기능 개발이나 버그 수정 시 메인 코드베이스에 영향을 주지 않고 작업할 수 있게 합니다.
- 병합 (Merge): 서로 다른 브랜치의 변경 사항을 하나로 합치는 작업입니다.
- 워킹 디렉토리 (Working Directory): 실제 파일이 존재하는 작업 공간입니다. 파일을 수정하는 곳입니다.
- 스테이징 영역 (Staging Area / Index): 워킹 디렉토리의 변경 사항 중 다음 커밋에 포함할 내용들을 임시로 저장하는 공간입니다. `git add` 명령으로 파일을 이 영역에 추가합니다.
주요 Git 명령어
Git 프로젝트를 초기화하고, 변경 사항을 추적하며, 협업하는 데 사용되는 핵심 명령어들입니다. 이 명령어들을 조합하여 효율적인 버전 관리를 수행하세요.
1. 저장소 초기화 및 복제
2. 변경 사항 추적 및 커밋
3. 브랜치 관리 및 병합
4. 원격 저장소 상호작용
생성된 명령어:
명령어를 조합해 보세요.
설명:
`git` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
사용 예시
Git 명령어의 실용적인 사용 예시들을 통해 버전 관리의 핵심 흐름을 이해하고 직접 연습해 보세요.
새로운 Git 저장소 생성 및 초기 커밋
mkdir my_new_project
cd my_new_project
git init
echo "# My New Project" > README.md
git add README.md
git commit -m "Initial project setup"
새로운 프로젝트를 시작할 때 Git 저장소를 초기화하고 첫 번째 변경 사항을 커밋하는 과정입니다.
원격 저장소 복제 및 작업 시작
git clone https://github.com/octocat/Spoon-Knife.git
cd Spoon-Knife
git status
기존에 있는 GitHub 저장소를 로컬로 복제하고, 복제된 저장소의 상태를 확인합니다.
새 기능 개발을 위한 브랜치 생성 및 전환
git checkout -b feature/add-login
`main` 브랜치에서 `feature/add-login`이라는 새 브랜치를 만들고 해당 브랜치로 즉시 전환하여 작업합니다.
변경 사항 추가, 커밋, 원격 푸시
echo "console.log('Login feature added');" >> src/login.js
git add src/login.js
git commit -m "Add login feature base structure"
git push origin feature/add-login
파일을 수정하고 스테이징 영역에 추가한 다음, 커밋 메시지와 함께 커밋하고 원격 저장소로 변경 사항을 푸시합니다.
다른 브랜치 변경 사항 가져와 병합
git checkout main
git pull origin main # 최신 main 브랜치 상태로 업데이트
git merge feature/add-login
git branch -d feature/add-login
git push origin main
`main` 브랜치로 전환한 후, `feature/add-login` 브랜치의 변경 사항을 `main` 브랜치에 병합하고 해당 브랜치를 삭제합니다.