Git

katsukichi·2021년 1월 27일
0

CodeStates_PRE

목록 보기
17/27

Version Control System

왜 필요한가

  • 각각의 버전을저장하고 다시 되돌릴수있다.
  • 이와중에 자연스러운 백업
  • 어떠한 변경사항이 있는지도 확인할수있다.
  • 여러사람이 함께 작업할때에도 대응이 가능하다.

깃허브는 ? (Github)

깃을 쓰는사람들끼리 모인 커뮤니티

개발자들의 소셜미디어

소스코드를 저장하는 저장소가 있다. 이것을 공유할수가있디.

유명 오픈소스 ? facebook에서 만든 React 홈페이지에 들어가보면

react github로 들어갈수있다.

컴트리뷰터가 여러명이고~ , 누가 어떻게 수정했는지 볼수있고.

이런것들이 깃을 이용하고 깃허브라는 공간에서 여러사람과 나누고 있는것이다.

얼마나 변경사항이 기록되었고, 얼마나 릴리즈 되었는지도 다 기록되므로 얼마나 활발한 리포지터리인지도 알수있다.

Features

  • Branching and Merging
  • Distributed
  • Data Assurance
  • Staging Area

Distributed 분산시스템에 대해서 알아보자

오픈 소스를 내 깃허브로 가지고오는것이 fork

내 깃허브의 리포지터리를 내 컴퓨터(로컬환경) 으로 가져오는것이 clone

내가 로컬환경에서 변경시킨 값을 (내소유의) 리모트 리포지터리를 오리진(Origin)이라고 할수있다. 그래서 변경사항을 적용시키는것을 Push라고 한다.

리모트 리포지터리에 변경된사항을 로컬환경으로 가져오는것을 Pull (원래는 깃 mergefetch가 있는데 이두개를 합쳐서 통상 사용하는것이 pull이다)

Staging Area

이전에 충돌을 해결하거나 선택적으로 버전관리를 받게하기위해 만들어졌다.

working directory -> git add -> staging area -> git commit -> repository

커밋은 중간중간에 스냅샷 하나하나를 만들어주는 느낌이다. (커밋 기록? ) 중간기록 ?

반드시 커밋 메시지를 적어줘야한다.

git flow

gitflow

각각 동그라미들이 commit을 나타낸다.

중간에 초록섹 Feature가 새로운 가지가 쳐지는거처럼 나오는것이 보일것이다.

보라색 Develop에서부터파생되는것 말이다.

그거는 Branch 나뭇가지 를 의미하는데

새로운 가지를 만들어내는것을 Branching이라고 한다.

다시 가지가 합쳐지는것을 볼수있는데

이때 합쳐지는것이 merging 이라고 한다.

branch가 master가 있고 develop이 있고 feature가 있다

master는 우리가 사용자들에게 직접 배포해야할 그 프로그램의 소스가 담겨있다 (End user 버그없는 프로그램을 만나야한다) 그것이 마스터에 담겨져있다.

develop 은 개발중인 버전의 소스코드가 담겨져있는 branch이다. (충분한 테스트와, 새로운 버그를 발견해서 고친다음에 옮겨야한다)

feature는 하나하나의 기능들을 담고있다.

profile
front-back / end developer / Let's be an adaptable person

0개의 댓글