[멋사] Git & Github

김지연·2023년 5월 7일
0
post-thumbnail

1. Git

git : 버전 관리를 위한 소프트웨어

  1. 버전관리
  요구사항 반영 반복 -> 코드 및 기능 수정
  전체가 다시 저장되는 것이 아닌 업데이트된 부분만 저장
  즉, 불필요한 용량 차지를 줄이고 과거 버전의 코드로 되돌아갈 수 있음!
 
  2. 협업
  여러명과 작업시 이메일이나 공유 드라이브로 소통하기엔 복잡
  바로 업데이트가 되지않고 코드를 가져오거나 에러가 발생할 경우
  누가 어디를 잘못 건드렸는지 확인하기 불편함
  각자 코드 수정 -> 만든 것을 합침 -> 업무 효율 향상

git repository

1. romote repository (원격 저장소)
  파일이 원격 저장소 전용 서버에서 관리
  여러 사람과 함께 공유하기 위한 저장소 ex) github
 
2. local repository (로컬 저장소)
  내 PC에 파일이 저장

git 핵심 키워드

add
  commit 하기 전까지 변경분을 모아놓는 작업
  명령어를 실행해도 Git 저장소의 변경 이력에는 어떤 영향도 없음
  스테이징 영역(index 등록)에만 올릴뿐 실질적인 영향은 commit
 
commit
  작업수행 내용으로 박제
  전체 복사가 아닌 각 버전의 변경사항만 기록
  저장소에 변경 사항 기록 -> local 저장소에 작업 내용 저장
  변경 이력을 남기는 중요한 작업이므로 commit 작업 시 메시지 필수 입력!
  메시지가 없으면 commit 실행 안함

작업트리 (Work Tree)
  git에서 우리가 흔히 말하는 폴더를 뜻함
  commit 실행 전 저장소와 작업트리 사이 존재하는 공간 : index(인덱스)
  저장소에 변경 사항 기록을 위해서는 기록하고자 하는 모든 변경사항들이 인덱스에 존재
  파일에서 내가 원하는 일부 변경사항만 인덱스에 등록해 commit 가능
 
push
  local repository 에서 commit한 작업을 repository로 보내는 작업
  즉, 내 pc에 있는 변경이력을 github에 업로드
 
pull
  remote repository에서 local repository로 업데이트
  즉, github에 있는 최신 파일을 다운로드 해 내 pc에 다운로드
 
merge
  분기했던 브랜치를 main 브랜치에 합치는 작업 (기본 단위가 branch)
 
branch
  병렬적으로 작업할 수 있고 작업 후에 main으로 병합 가능한 서브 작업공간 같은 개념

branch 규칙
  1. Main branch : 배포할 수 있는 브랜치 (최종적인 상태를 의미 -> 최상위 브랜치)
  2. Develop branch : 다음 출시 버전을 개발하는 브랜치,
  main에서 분기되어 기능 개발을 위한 브랜치들의 병합을 위해 사용
  3. Feature branch : 기능을 개발하는 브랜치, 주로 자신의 로컬 저장소에서 관리
  4. Release branch : 이전 출시 버전을 준비하는 브랜치
  feature 브랜치에서 기능 개발 후 develop 브랜치에서 병합하는 과정을 반복
  5. hotfix branch : 출시 버전에서 발생한 버그를 수정하는 브랜치

2. Github

github : git으로 저장돼서 원격전송된 파일들이 저장되는 공간을 제공 하는 서비스

Git으로 관리하는 모든 코드들과 프로젝트를 Github에 무료로 전송해서 저장 가능

profile
천천히 꾸준히 하는 블로그

0개의 댓글