GIT 1 - 기초, 기본 용어

subinii·2024년 5월 27일

DS 25기

목록 보기
38/46

GIT

  1. 버전 관리 시스템 (형상관리)
  • configuration management systems
  • version control systems
  1. 버전 관리
  • source data + history
  • 협업, 작업 추적, 복구 등이 가능
  1. 버전 관리 시스템의 종류
  • CVCS
    • CVS : 1980년대 만들어진 형상관리 시스템 , commit 중 오류 발생 시 rollback 이 되지 않는 등 문제 → SVN으로 대체됨
    • SVN SVN : 2000년대 만들어졌고, 현재까지 두루 사용 중
  • DVCS DVCS
    • GIT : SVN 보다 빠른 속도와 많은 기능을 지원
  • 대부분 기업 주로 SVN, GIT 사용 중
  1. GITHUB GITHUB
  • GIT 을 호스팅 해주는 웹 서비스, 협업을 위한 기능을 제공
  • 참고 - 소스코드 보안이 중요한 경우 사용을 기피함
  1. gitlab GITLAB
  • 설치형 버전관리 시스템 - 소스코드 보안이 중요한 기업에서 주로 사용

  • 클라우드 버전 관리 시스탬 10명 이하 무료 (GITHUB과 유사)

  • lssue tracker, git remote repository, api, team, group 기능 제공

  • git 실행

  • git bash - 관리자 권한

  • dir - 프롬프트 명령어

GIT 기본 용어

1. repositroy

  • 소스코드가 저장되어 있는 여러 개의 branch가 모여있는 디스크상의 물리적 공간
  • local repositroy 와 repository로 구분

2. checkout

  • 특정 시점이나 branch의 소스코드로 이동하는 것을 의미
  • checkout 대상 - branch, commit, tag
  • checkout을 통해 과거 여러 시점의 코드로 이동이 가능

3. stage

  • 작업할 내용이 올라가는 임시저장영역
  • 이 영역을 이용하여 작업한 내용중 commit에 반영할 파일만 선별하여 commit을 수행할 수 있음

4. commit

  • 작업할 내용을 local repository에 저장하는 과정
  • 각각의 commit은 의미있는 변경단위이고, 변경에 대한 설명을 commit log 남김

5. tag

  • 임의의 commit 위치에 쉽게 찾아갈 수 있도록 붙여놓은 이정표
  • tag가 붙은 commit은 commit id (version) 대신 tag name 으로 쉽게 checkout 가능

6. push

  • Local Repository 의 내용 중, Remote Repository 에 반영되지 않은 commit 을 Remote Repository 로 보내는 과정
  • 권장 - Push 하는 순간 다른 개발자들도 영향을 받음. 검증되지 않은 코드는 Push 하지 않도록 함

7. pull

  • Remote Repository 에 있는 내용 중, Local Repository 에 반영되지 않은 내용을 가져와서 Local Repository 에 저장하는 과정
  • 다른 팀원이 변경하고 Push 한 내용을 Local Repository 에 가져올 수 있음
  • 참고- Push 과정에서 Conflict (충돌)이 일어나서 Push 가 거절된 경우, Pull 을 통해 Remote Repository의 변경 내용을 Local Repository 에 반영하여 Conflict 를 해결 한 뒤 다시 Push 를 시도해야 함.

8. Branch

  • 특정 시점 (commit 단위) 에서 분기하여 새로운 commit 을 쌓을수 있는 가지를 만드는 것
  • 개발의 주축이 되는 branch 를 master branch (혹은 main branch) 라고 함
  • 모든 branch 는 최종적으로 다시 master branch 에 merge (병합) 되는 형식으로 진행 됨

9. Merge

  • Branch 의 반대개념으로 하나의 Branch 를 다른 Branch 와 합치는 과정
  • Merge 되는 두 Branch 는 주종관계가 성립. 예- dey branch 를 main branch 에 merge
  • Merge 되는 과정에서 Confict (충돌) 이 발생하는 경우 Dit 를 수정하여 Conflict 를 해결한 뒤 Merge 를 진행 할 수 있음

"이 글은 제로베이스 데이터 취업 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.”

profile
데이터 공부 기록

0개의 댓글