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

git깃허브GitHub협업버전관리백업오픈소스원리저장소코드원격연결설치터미널shellbashterminal명령어
avatar
2025.04.11
·
7 min read

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 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 콘솔. 한글이 깨지고 리눅스 명령어가 제한적이다

PowerShell

Windows 특화 환경. Git과 잘 동작하지만 리눅스 명령어는 일부 제한적이다

Git Bash

리눅스 스타일 쉘을 제공하며 Git 사용에 최적화된 환경이다







- 컬렉션 아티클