본문 바로가기

GIT

Git이란? + 기초 용어 정리

Git이란?

형상 관리 도구 = 버전 관리 시스템

중앙 서버에 소스 코드와 히스토리를 저장하는 SVN과 달리, 소스코드를 여러 개발 PC와 저장소에 분산해서 저장하는 분산형 관리 시스템

 

 

버전 관리 시스템의 종류

 

CVS : 과거

SVN : 과거 ~ 현재

GIT : 현재

 

 

Git의 장점

 

- 소스코드를 주고 받을 필요 없이, 같은 파일을 여러 명이 동시에 작업하는 병렬 개발이 가능

- 브랜치를 통해 개발한 뒤, 본 프로그램에 합치는 방식 (Merge)

 

 

관련 용어

 

  • Repository : 저장소, 작업자가 변경한 모든 히스토리 확인 가능

    - 원격 저장소 (Remote Repository) : 파일이 원격 저장소 전용 서버에서 관리되며, 여러 사람이 함께 공유하기 위한 저장소

    - 로컬 저장소 (Local Repository) : 내 PC에 파일이 저장되는 개인 전용 저장소

  • Working Tree : 작업을 하는 디렉토리

  • Staging area : 저장소에 커밋하기 전에 모든 변경 사항이 존재하는 곳

  • Commit : 현재 변경된 작업 상태를 점검을 마치면 확정하고 저장소에 저장하는 작업

  • Head : 현재 작업중인 브랜치

  • Branch

    독립된 working directory를 의미한다. 

    가지 또는 분기점, 작업을 할 때 현재 상태를 복사하여 브랜치에서 작업을 한 후에 완전하다 싶을 때 Merge를 하여 작업

  • Merge : 다른 브랜치의 내용을 현재 브랜치로 가져와 합치는 작업 (공통된 작업을 할 때 유용)

 

명령어

 

  • git clone : 새로운 디렉토리에 저장소를 복제하는 기능

  • git init : 현재 디렉토리에서 작업을 진행하겠다는 것을 git에게 알려주는 기능

  • git add : 작업을 하고 commit 하기 전에 파일들을 stage에 올리는 작업

  • git branch : 독립적인 공간을 만든다.
    새로 만든 브랜치는 마스터 브랜치와 동일한 상태를 가지며,
    브랜치에서 수정한 후 커밋을 하면 마스터 브랜치에 어떠한 영향도 주지 않는다.

  • git checkout : 독립된 작업 공간인 브랜치를 이동하는데 쓰는 명령어

  • git commit : 작업 내역을 로컬 저장소에 저장

  • git pull : 원격 저장소의 변경된 내용을 로컬 저장소로 적용하는 명령어 (fetch + merge)

  • git fetch : 원격 저장소의 내용만 확인하고, 로컬 데이터와 병합하고 싶지 않은 경우 사용하는 명령어

  • git push : 로컬 저장소에서 변경된 내용을 로컬 저장소로 업로드하는 명령어

'GIT' 카테고리의 다른 글

git push 실패할 때  (0) 2020.12.30
[Git] .gitignore 설정하기  (0) 2020.12.30
GIT에 이클립스 프로젝트 업로드하기  (0) 2020.11.04