sanguk.dev
작성완료
Git 설치 방법과 사용 이유 및 원리

Git 설치 방법과 사용 이유 및 원리

Git은 협업, 버전 관리, 백업 및 오픈소스 참여를 가능하게 하며, Workspace, Index, Local Repository의 세 가지 영역으로 구성된다. GitHub는 Git 기반의 소스 코드 호스팅 플랫폼으로, 원격 저장소를 통해 프로젝트를 관리하고 협업할 수 있다. 설치 방법과 기본 명령어, SSH 키 생성 및 등록 방법도 설명되어 있다.

Git & GitHub

사용 이유

1. 협업 (Collaboration)

여러 개발자가 동일 프로젝트를 작업할 때 충돌을 방지하고 효율적인 협업을 가능하게 한다.
Git을 사용하더라도 **동일 파일을 서로 다르게 수정하고 동기화하지 않은 채로 push할 경우 충돌(Conflict)**이 발생할 수 있다.

2. 버전 관리 (Version Control)

파일의 변경 이력을 추적하고, 필요 시 이전 상태로 되돌릴 수 있다.
프로젝트의 진화 과정을 체계적으로 관리할 수 있다.

3. 백업

Git 저장소는 로컬뿐 아니라 원격 저장소에도 복제되므로, 작업 내역이 안전하게 보관된다.

4. 오픈소스 참여

GitHub 같은 플랫폼을 통해 다른 개발자의 코드를 활용하거나, 나의 코드를 공개하여 협업할 수 있다.
Public 저장소는 누구나 접근 가능하며, Private 저장소는 제한된 인원만 접근할 수 있다.


원리

Git은 크게 아래 3가지 영역으로 나뉘어 동작한다

구성 요소설명
Workspace실제 작업 파일이 존재하는 영역 (내 컴퓨터)
Index (Staging Area)커밋 대상 파일을 임시 저장하는 영역 (git add 사용 시 이곳으로 이동)
Local Repository커밋된 파일들이 저장되는 로컬 저장소 (git commit 사용 시 이곳으로 이동)

.git 폴더는 Git이 관리 정보를 저장하는 숨김 폴더다.


GitHub 및 저장소 구성

공식 사이트
GitHub는 Git 기반의 소스 코드 호스팅 플랫폼이다.
오픈소스 프로젝트를 관리하거나, 개인/팀 프로젝트를 원격 저장소로 백업하고 협업할 수 있다.


저장소 생성 시 주요 항목

항목설명
Repository Name저장소 이름 (프로젝트 이름)
Description프로젝트 간단 설명
Public/Private저장소 공개 여부 설정
README.md프로젝트 설명을 포함한 마크다운 파일
.gitignoreGit에서 제외할 파일 명시 (ex. node_modules)
License오픈소스 라이선스 명시 (MIT, Apache 2.0 등)

원격 저장소 연결 방식

방식특징
HTTPS사용자명/비밀번호 또는 Personal Access Token 필요. 보편적이지만 매번 인증해야 한다.
SSH공개키/개인키 기반. 설정은 복잡하지만 한 번 설정하면 자동 인증된다.

SSH 키 생성 및 등록

shell
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

기본 경로에 id_rsa (개인키)와 id_rsa.pub (공개키) 생성된다.
GitHub의 Settings > SSH and GPG keys 에 공개키를 등록한다.


설치

**1. **Git 공식 사이트에서 설치

shell
git --version

위 명령어로 설치를 확인한다.

2. 사용자 정보 설정

shell
git config --global user.name "Your Name"
git config --global user.email "you@example.com"

3. 설정 확인

shell
git config --list

Git 기본 명령어 (터미널 기준)

명령어설명
git init현재 폴더를 Git 저장소로 초기화한다
git clone <URL>원격 저장소를 복제한다
git status현재 작업 상태를 확인한다
git add <파일명>변경된 파일을 스테이징한다
git commit -m "메시지"스테이징된 파일을 커밋한다
git push로컬 커밋을 원격 저장소에 반영한다
git pull원격 저장소의 최신 커밋을 로컬로 병합한다
git log커밋 로그를 확인한다
git remote -v연결된 원격 저장소를 확인한다
git branch브랜치 목록을 확인한다
git checkout -b <브랜치명>새 브랜치를 생성하고 전환한다

터미널 Tip

환경특징
CMD기본 Windows 콘솔. 한글이 깨지고 리눅스 명령어가 제한적이다
PowerShellWindows 특화 환경. Git과 잘 동작하지만 리눅스 명령어는 일부 제한적이다
Git Bash리눅스 스타일 쉘을 제공하며 Git 사용에 최적화된 환경이다