[WebDevCurriculum] 버전관리(git)

Hyo Kyun Lee·2021년 10월 18일
0

WebDevCurriculum

목록 보기
2/44

개요

형상관리 시스템에 대해 정확히, 구체적으로 이해한다.

Checklist

  • 형상관리 시스템은 왜 나오게 되었을까요?
    → 협업툴의 일종.
    → 개발을 진행하면서 log 기록을 남겨 create, delete, update 등의 log 이력을 손쉽게 살펴볼 수 있다.

  • git은 어떤 형상관리 시스템이고 어떤 특징을 가지고 있을까요?
    → 분산형 형상관리 시스템.
    → 웹 형태/버전을 하나의 중앙저장소가 아닌, 각자 분산된 여러 지역저장소에 저장하여 버전 update를 관리하는 방식.

  • git과 GitHub은 어떻게 다를까요?
    → git은 지역저장소에서 버전관리가 이루어지는 도구, 방식.
    → github은 github company가 제공해주는 서버 및 클라우드를 이용하여 버전관리가 이루어지는 방식, 방법.

  • git의 clone/add/commit/push/pull/branch/stash 명령은 무엇이며 어떨 때 이용하나요? 그리고 어떻게 사용하나요?
    → git clone : github에 저장되어있는 저장소를(중앙/원격에서 관리 중인 모든 폴더와 디렉토리가 모여있는 곳) 복제한다.
    ※ git clone https://github.com/userName/storeName
    → git add : 지역적(유저PC)으로 version 관리를 하는 git에 finally updated version(코드에서의 새로 추가, 삭제 등 새롭게 변화한 내용 중 최종적으로 반영된 내용)을 기록한다.
    → git commit : 지역(유저PC)에서의 git에 finally updated version을 git에 저장하고, 중앙/원격저장소(github에서 운영하는 서버에 version을 저장하여 원격으로 관리하는 곳)에 해당 version을 반영하기 위한 준비를 한다.
    → git push : git에 저장되어있는 (최종적으로 수정/반영된) 내용을, 중앙저장소(github)에 기록하여 남긴다.
    (※ 중앙관리소에서 관리 중인 version은 branch를 통해 분할관리가 가능하다).
    → git pull : 중앙/원격저장소에서 관리하고 있는 version을 유저PC의 폴더로 옮겨오고, 그 내용을 반영한다.
    (※ 지역저장소에서 관리 중인 version보다 상위일 경우 merge(version 상향)한다.)
    → git branch : 독자적으로 version control 및 분할관리를 위해 주 저장소와 함께 운영하는 부 저장소들을 운영한다.
    ※ git branch / 현재 위치한 저장소
    ※ git branch branch_name / 원격 저장소 branch 추가
    ※ git checkout branch_name / 해당 branch로의 이동
    → git fetch : 중앙/원격저장소에서 관리하고 있는 version을 유저PC의 폴더로 옮겨오기만 한다(내용을 반영(merge)하지는 않는다).

간략히

0. why

  • 개발이력을 관리하고 진행상황을 살펴보는 등, 개발자 간 협업을 진행하기 위해 기본적으로 알아야할 개념이다.
  • sourcetree와 같은 다른 형상관리시스템도 비슷한 원리로 진행되며, 전체적인 개념이 유사하기 때문에 개념을 다잡을 필요가 있다.

1. what

  • version control을 하기 위한 CLI를 실행한다.
  • version control을 위한 여러 명령어들을 활용한다.

2. how

  • version control을 하는 방식, 저장소 등은 프로젝트, 기업, 개발자들마다 다르다.
  • version control은 넓게 말하면 소통의 일환이므로, 이에 대한 충분한 협의와 note를 바탕으로 진행한다.

0개의 댓글