※ 필수 Git 명령어 정리 (CLI(Command Line Interface) 기준)

 

> 로컬 저장소 관련

명령어 설명
git init 현재 폴더를 Git 저장소로 초기화
git clone 원격저장소url 원격 저장소를 복제
git status 변경 사항 확인
git add 확장자포함파일명 특정 파일 스테이징
git add . 모든 변경 사항 스테이징
git commit -m "커밋메세지" 스테이징된 파일을 커밋

 

> 브랜치 관련

명령어 설명
git branch 브랜치 목록 확인
git branch 브랜치명 새 브랜치 생성
git checkout 브랜치명 특정 브랜치로 이동
git switch 브랜치명 브랜치 이동(새로운 방식)
git checkout -b 브랜치명 브랜치 생성 + 이동
git merge 브랜치명 현재 브랜치에 다른 브랜치를 병합
git branch -d 브랜치명 브랜치 삭제

 

> 원격 저장소 관련

명령어 설명
git remote -v 원격 저장소 확인
git remote add origin 원격저장소url 원격 저장소 추가
git push origin 브랜치명 원격 저장소로 푸시
git pull origin 브랜치명 원격 저장소에서 가져오기(merge 포함)
git fetch 원격 저장소 변경 사항 가져오기(병합X)

 

> 되돌리기 / 정리

명령어 설명
git log 커밋 로그 확인
git diff 변경 내용 비교
git reset --hard 커밋해시값 특정 커밋으로 되돌리기(작업 내역 삭제)
git revert 커밋해시값 특정 커밋을 되돌리는 새 커밋 생성
git stash 작업 중인 변경 사항 임시 저장
git stash pop 임시 저장된 변경 사항 복원

 

git push --set-upstream origin master 의미 : 최초 1회에 한해서, 로컬 브랜치와 원격 브랜치를 연결 해 주는 명령어

이후, git push 또는 git pull 만 입력해도 자동으로 origin master로 연결

※ Git & GitHub

구분 Git GitHub
정의 코드를 쉽게 관리할 수 있도록 해주는 버전 관리 프로그램 Git으로 관리되는 프로젝트의 코드가 저장되는 저장소
설치 여부 로컬 PC에 직접 설치 필요 웹/클라우드 서비스로 설치 불필요
저장소 위치 개발자 PC(로컬 저장소)와 원격 저장소(서버) 원격 저장소 제공 (github.com)
주요 기능 버전 관리, 브랜치 관리, 협업을 위한 merge/rebase 코드 공유, Pull Request(PR), 이슈 관리, CI/CD, 협업 도구
사용 목적 코드 변경 이력 관리, 되돌리기, 브랜치 기반 개발 오픈소스 프로젝트 협업, 팀 프로젝트 관리, 포트폴리오 공개
오프라인 사용 가능 (네트워크 없이도 커밋 가능) 불가능 (인터넷 필요)
예시 git init, git commit, git merge Pull Request, Issue, Actions

 

※ Git vs SVN 비교

> Git

장점

  · 분산 버전 관리(DVCS)라서 로컬에서도 작업 가능

  · 브랜치 생성/병합이 가볍고 유연함

  · 속도가 빠름 (커밋, 브랜치, 되돌리기 등)

  · 오픈소스 커뮤니티와 툴(GitHub, GitLab 등) 지원이 풍부

단점

  · 개념이 다소 복잡하여 초보자가 배우기 어려움

  · 프로젝트 규모가 크면 로컬 저장소 용량이 커질 수 있음

> SVN

장점

  · 중앙 집중식 관리라 구조가 단순하고 이해하기 쉬움

  · 서버에서 버전 관리가 일원화되어 보안/권한 관리가 용이

  · 대규모 기업/문서 관리에 적합

단점

  · 서버 접속이 반드시 필요 (오프라인 작업 불가)

  · 브랜치/머지 작업이 무겁고 불편

  · 서버 장애 시 개발이 중단될 수 있음

> Git vs SVN

구분 Git SVN
관리 방식 분산 버전 관리 (로컬+원격) 중앙 집중식 버전 관리
오프라인 작업 가능 불가능
속도 빠름 (로컬 처리) 느림 (항상 서버 의존)
브랜치 관리 가볍고 유연 무겁고 불편
안정성 서버 장애에도 로컬에서 복구 가능 서버 장애 시 전체 작업 중단
난이도 초보자에겐 다소 어렵다 비교적 직관적이고 단순

 

> 정리

  · Git은 현대 개발 표준(특히 오픈소스 & 협업 중심)

  · SVN은 단순 관리가 필요한 기업 환경에 적합

  · Git ↔ GitHub

  · SVN ↔ SVN 서버 (자체 구축 or 호스팅 서비스)

 

※ GitHub vs GitLab 비교

구분 GitHub GitLab
소유 Microsoft GitLab Inc.
철학 오픈소스 중심 협업 DevOps 올인원 플랫폼
CI/CD GitHub Actions GitLab CI/CD (강력)
설치 방식 클라우드(기본) 클라우드 + 자체 서버 설치 가능
커뮤니티 세계 최대 오픈소스 커뮤니티 상대적으로 규모 작음
적합한 대상 오픈소스, 스타트업, 개인 개발자 기업, 보안 중요 환경

 

> 정리

  · GitHub : 오픈소스 협업에 최적화된 세계 최대 개발자 플랫폼

  · GitLab : 기업용 DevOps 올인원 솔루션 (특히 자체 서버 운영에 강점)

+ Recent posts