Git 설치 방법과 사용 이유 및 원리
Git 사용 이유
1. 협업 (Collaboration)
여러 개발자가 동일 프로젝트를 작업할 때 충돌을 방지하고 효율적인 협업을 가능하게 한다.
Git을 사용하더라도 동일 파일을 서로 다르게 수정하고 동기화하지 않은 채로 push할 경우 충돌(Conflict)이 발생할 수 있다.
2. 버전 관리 (Version Control)
파일의 변경 이력을 추적하고, 필요 시 이전 상태로 되돌릴 수 있다.
프로젝트의 진화 과정을 체계적으로 관리할 수 있다.
3. 백업
Git 저장소는 로컬뿐 아니라 원격 저장소에도 복제되므로, 작업 내역이 안전하게 보관된다.
4. 오픈소스 참여
GitHub 같은 플랫폼을 통해 다른 개발자의 코드를 활용하거나, 나의 코드를 공개하여 협업할 수 있다.
Public 저장소는 누구나 접근 가능하며, Private 저장소는 제한된 인원만 접근할 수 있다.
Git 원리
Git은 크게 아래 3가지 영역으로 나뉘어 동작한다
구성 요소 | 설명 |
Workspace | 실제 작업 파일이 존재하는 영역 (내 컴퓨터) |
Index (Staging Area) | 커밋 대상 파일을 임시 저장하는 영역 (git add 사용 시 이곳으로 이동) |
Local Repository | 커밋된 파일들이 저장되는 로컬 저장소 (git commit 사용 시 이곳으로 이동) |
.git 폴더는 Git이 관리 정보를 저장하는 숨김 폴더다.
GitHub 및 저장소 구성
공식 사이트
GitHub는 Git 기반의 소스 코드 호스팅 플랫폼이다.
오픈소스 프로젝트를 관리하거나, 개인/팀 프로젝트를 원격 저장소로 백업하고 협업할 수 있다.
저장소 생성 시 주요 항목
항목 | 설명 |
Repository Name | 저장소 이름 (프로젝트 이름) |
Description | 프로젝트 간단 설명 |
Public/Private | 저장소 공개 여부 설정 |
README.md | 프로젝트 설명을 포함한 마크다운 파일 |
.gitignore | Git에서 제외할 파일 명시 (ex. node_modules) |
License | 오픈소스 라이선스 명시 (MIT, Apache 2.0 등) |
원격 저장소 연결 방식
방식 | 특징 |
HTTPS | 사용자명/비밀번호 또는 Personal Access Token 필요. 보편적이지만 매번 인증해야 한다. |
SSH | 공개키/개인키 기반. 설정은 복잡하지만 한 번 설정하면 자동 인증된다. |
SSH 키 생성 및 등록
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
기본 경로에 id_rsa (개인키)와 id_rsa.pub (공개키) 생성된다.
GitHub의 Settings > SSH and GPG keys 에 공개키를 등록한다.
Git 설치
1. Git 공식 사이트에서 설치
git --version
위 명령어로 설치를 확인한다.
2. 사용자 정보 설정
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
3. 설정 확인
git config --list
Git 기본 명령어 (터미널 기준)
명령어 | 설명 |
| 현재 폴더를 Git 저장소로 초기화한다 |
| 원격 저장소를 복제한다 |
| 현재 작업 상태를 확인한다 |
| 변경된 파일을 스테이징한다 |
| 스테이징된 파일을 커밋한다 |
| 로컬 커밋을 원격 저장소에 반영한다 |
| 원격 저장소의 최신 커밋을 로컬로 병합한다 |
| 커밋 로그를 확인한다 |
| 연결된 원격 저장소를 확인한다 |
| 브랜치 목록을 확인한다 |
| 새 브랜치를 생성하고 전환한다 |
터미널 Tip
환경
특징
CMD
기본 Windows 콘솔. 한글이 깨지고 리눅스 명령어가 제한적이다
PowerShell
Windows 특화 환경. Git과 잘 동작하지만 리눅스 명령어는 일부 제한적이다
Git Bash
리눅스 스타일 쉘을 제공하며 Git 사용에 최적화된 환경이다