GitHub

Chiho Lee·2021년 10월 14일
0

한 시간 만에 끝내는 깃허브

GIT HUB : 코드 관리 서비스.

GIT : 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템.

Commit : Game에서의 Save와 같은 역할을 함. 개발자의 일기(기록).

Add : 커밋하기 전 저장을 원하는 파일들을 묶는 일.

Push : Remote repository에 있는 내용을 가져온다.

Pull : Push된 커밋이 저장된 파일들 Local PC에 내려받기.

Fetch : Remote repository에서 변경 내용 가져오기.


기본 흐름

github 공간 만들기(clone, init) => 파일 작성 => 파일의 변경사항 임시저장(add) => local에 저장(commit) => remote에 업데이트(push) => 로컬 업데이트(pull) => add => commit => push ==> pull...(반복)

로컬 작업 시작 전 무조건 pull

remote 저장소에 변경된 사항이 있을 수 있기에(여러명이서 작업시) 무조건 파일을 건들기 전에 pull하도록 한다. 안그러면 conflict이 일어나 수동으로 고쳐야한다.

Local and Remote

Github는 Commit을 하는 시점의 코드를 따로 저장함.

특정 주기를 정해서 Commit을 하는 경우가 많음 (ex 기능 개발 이후, 한 시간 마다, 하루 마다)

로컬과 원격의 차이?

로컬 저장소(local)와 원격 저장소(remote)

git 저장소는 자신의 컴퓨터인 로컬 저장소서버에 있는 원격 저장소로 나뉜다.

local에서 작업한 것은 remote로 push해줘야만 변경사항이 서버에 반영된다.

  • 원격 저장소(Remote Repository): 파일이 원격 저장소 전용 서버에서 관리되며 여러 사람이 함께 공유하기 위한 저장소입니다.
  • 로컬 저장소(Local Repository): 내 PC에 파일이 저장되는 개인 전용 저장소입니다.

Branch : Repository를 버전으로 관리하게 해줌

'코드를 분리해서 개발하게 해준다' 정도로 알고있으면 됨.

Github Repository에서 Branch 자유롭게 생성 가능.

GitFlow?

깃플로우 전략은 소프트웨어의 소스코드를 관리하고 출시하기 위한 '브랜치 관리 전력' 중 하나이다.

  1. Master - 제품으로 출시 되는 브랜치 (상시 유지)
  2. Develop - 다음 출시 버전을 개발하는 브랜치 (상시 유지)
  3. Feature - 기능을 개발하는 브랜치
  4. Release - 이번 출시 버전을 준비하는 브랜치
  5. Hotfix - 출시 버전에서 발생한 버그를 수정하는 브랜치

Pull Request : 내가 Develop 브랜치를 벗어나 다른 브랜치에서 개발을 했을 때,

다른 개발자들에게 보고 Develop 브랜치에 반영해달라고 요청하는 것.

그 이후 개발자들이 Confirm Merge 버튼을 눌러야 비로소 반영됨.

Branch들은 상시 유지될 필요가 없다. 예를 들어서 Develop브랜치에서 벗어나 다른 Branch를 생성해 Develop를 하고, pull request를 하고 문제가 없음을 확인 후, confirm merge로 Develop 브랜치에 잘 적용이 되면. 그냥 지워버리면 그만.

아래 사진 참고.


profile
Hello,

0개의 댓글