본문 바로가기
컴퓨터공학/개발환경

Git | 깃허브 (Github) 기초 용어 및 개념

by KISCH 2025. 4. 7.
반응형

분산형 버전 관리 시스템인 Git과 Git의 저장소인 Github에 대해 기초적인 용어들과 그 용어들을 설명하면서 git에 대해 개념을 잡아보도록 하겠습니다.

 

 

목차

     

     

    깃 (Git)

     

    소개 

    Git이란 소스를 효율적으로 관리하기 위해 개발된  분산형 버전 관리 시스템  으로 분산형이란 여러 사람이 작업 가능하고 소스가 수정, 추가 될 때마다 버전을 저장할 수 있다는 말입니다. Git 의 기능을 활용하기 위해서  git 저장소 (git repository)  가 필요하고 대표적인 무료 git 저장소가 바로  Github  입니다.

     

     

    깃허브 (Github)

     

    위치

    가장 기본적인 파일의 흐름은 워크스페이스에서 원격저장소로 소스를 올리는 과정입니다.

     

     워크스페이스  - 내 PC에서 작업한 파일이 바로 저장되는 장소 

     스테이지 영역  - 커밋할 변경이력이 임시로 저장되는 위치

     로컬 저장소 (Local Repository)  - 개인 PC 저장소로 워크스페이스와 구분 필요.

     원격 저장소 (Remote Repository)  - Github 서버

     

    Workspace - > Remote Repository

    위에서 살펴본 저장위치는 아래와 같은 명령을 통해서 이동합니다.

     

     add  (워크스페이스 -> 스테이지 영역) - 워크스페이스 파일의 이력을 스테이지 영역에 추가

     commit  (스테이지 영역 -> 로컬저장소) - 인덱스에 기록된 변경이력을 로컬 저장소에 저장

     push  (로컬 저장소 -> 원격저장소) - 로컬 저장소에 저장된 변경이력을 원격 저장소에 업로드

     

    Remote Repository -> Workspace

    반대로, 원격저장소에서 변경이력을 가져오는 과정입니다. 소스를 혼자 작업할 수도 있지만 분산형이기 때문에 여러 사람이 작업하는 경우 다른 사람이 변경한 내용을 가져와야겠죠?  

     

     fork  - 다른 사람이 만든 프로젝트의 원격 저장소를 내 원격 저장소로 가지고 오는 작업

     clone  (원격저장소 -> 워크스페이스) - 나의 원격저장소를 내 로컬 컴퓨터로 가져오는 작업

     pull  (원격저장소 -> 워크스페이스) - 원격 저장소의 다른 사용자에 의한 변경이력을 워크스페이스에 반영합니다. pull 하지 않고 워크스페이스에서 수정된 파일을 push 하면 거부됩니다. 

     fetch  (원격저장소 -> 로컬저장소) - 변경 이력을 확인만 하고 워크스페이스의 데이터와 merge하지 않을 경우

     

     

     

     

    브랜치와 포크

     

    브랜치 (Branch)

    브랜치라는 기능은 원격저장소의 파일을 여러 버전을 병렬적으로 수정할 수 있습니다. 여러 사용자가 하나의 파일을 동시에 수정하고 원격저장소 파일에 merge 하는 방법입니다.

     

    포크 (Fork)

    원격저장소에 있는 다른 사용자의 파일을 내 저장소로 가져와 임의로 수정할 수 있는 기능입니다. 수정한 코드가 가져온 다른 사용자의 코드보다 좋다고 생각해 다른 사용자에게 요청하고 수락한 경우 코드가 수락됩니다.

     



    지금까지 간단하게 수정된 소스 파일의 위치에 따라 git 의 개념에 대해 설명드렸습니다. 다음 시간에는 깃의 명령어들을 사용하는 방법들과 개발툴을 이용한 깃 사용법에 대해 소개해 드리겠습니다.

     

    관련포스트
    VScode | 깃허브 (Github) 쉽게 연동하기
    버전관리 | Github (깃허브) 사용법
    버전관리 | Git
    버전관리 | SourceTree

     

    github

    반응형

    댓글