Im between cherry

Git 개념 / Git으로 버전 관리 뜻 / Git 사용 방법 본문

Git

Git 개념 / Git으로 버전 관리 뜻 / Git 사용 방법

meal 2020. 11. 22. 02:04

Git(깃)

한 줄 정의: 여러 명이 함께 협업할 때 따로 작업하다가 코드를 합치고 백업을 쉽게 하기 위한 `분산 버전 관리 시스템`

위키 정의: 깃은 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다. 소프트웨어 개발에서 소스 코드 관리에 주로 사용되지만 어떠한 집합의 파일의 변경사항을 지속적으로 추적하기 위해 사용될 수 있다.

 

버전관리란?

코딩할 때, 원하는 시점마다 깃발을 꽂고(버전을 만들고) 이들 간에 자유롭게 돌아다닐 수 있다.

내가 만든 버전 뿐 아니라 동료가 만든 버전으로 이동할 수 있고, 동료와 내 버전을 비교해서 코드를 최신본으로 업데이트 할 수 있다.

 

Git을 사용하는 2가지 방법

1. CLI

2. GUI

 

Git으로 버전 관리 개념(기본)

1. 커밋(Commit)

커밋이란, 변경 사항 덩어리! 커밋은 꾸준히 쌓인다.

#CLI
git commit -m "commit-name"
#GUI
'커밋' 버튼 클릭

2. 푸시(push)

커밋을 원격(공동)저장소에 올리고 싶을 때, 푸시를 한다!

푸시를 해서 원격 저장소에 올리면, 다른 개발자들도 내 코드를 볼 수 있다.

*원격저장소: Github, AWS 등

#CLI
git push origin master
#GUI
'push'버튼 클릭

3. 풀(pull)

다른 사람이 개발한 코드(커밋)을 내 컴퓨터에 받아오고 싶을 때, 풀을 한다!

#CLI
git pull
#GUI
'pull' 버튼 클릭

4. 브랜치(branch)

한 저장소에서 다른 개발자랑 같이 작업을 하고 싶을 때, 브랜치를 만든다!

브랜치란, 한 줄로 쌓던 커밋을 n줄로 쌓을 수 있게 만들어 준다!

n줄로 쌓아야 하는 이유는, 한 줄에서 작업하면 충돌이 일어날 수 있기 때문! 똑같은 코드를 동시에 고칠 가능성이 있다.

n줄로 쌓고 나중에 합치면 된다. 

#CLI
git branch branch-name
#GUI
브랜치 버튼 클릭

5. 병합(merge)

브랜치에서 작업이 끝나고 코드를 합치고 싶을 때, 병합을 한다!

병합이란, 브랜치와 브랜치를 합치는 것!

#CLI
git merge branch-name

 

Git으로 버전 관리 개념(심화)

1. 풀 리퀘스트

병합하기 전에 다른 개발자들에게 리뷰 및 컨펌을 받고 싶을 때, 풀 리퀘스트를 보낸다.

풀 리퀘스트란, '병합 요청 편지'이다.

 

2. 병합의 종류

2-1. fast forward merge

2-2. making merge commit

merge, push, conflict 해결

더보기

1. feat/comment 브랜치 생성, 커밋, 푸시

2. master 브랜치로 checkout(head이동)

3. feat/main 브랜치 생성, 커밋, 푸시 

 

3. 포크(fork)

다른 사람이 만든 오픈소스에 기여하고 싶지만 푸시 권한이 없을 때, 포크로 저장소 전체를 내 계정에 복제한 다음, 내 계정의 저장소에 커밋+푸시 후, 원래 저장소로 풀 리퀘스트를 보낸다.

 

 

 

 

 

 

참고: milooy.wordpress.com/2017/06/21/working-together-with-github-tutorial/

Comments