본문 바로가기
6. 개발도구/6_3 GIT

[Git (9)] Git Branch(1) - 기초(Branch 생성 및 사용)

by 갓대희 2020. 10. 11.
반응형

[Git (9)] Git Branch(1) - 기초(Branch 생성 및 사용)

안녕하세요. 갓대희 입니다. 이번 포스팅은 [ git branch 생성 및 사용하기 입니다. : ) 

1. Git Branch란?

※ Branch란?

 - Software개발시 개발자들은 동일한 소스코드 위에서 신규 개발, 버그 수정 등의 업무를 협업하곤 한다. 이럴 때, 여러 개발자들이 동시에 다양한 작업을 할 수 있게 만들어 주는 기능이 "Branch" 이다.

 즉, 브랜치(Branch)를 통해 하나의 프로젝트를 여러 갈래로 나누어서 관리할 수 있다. 각각의 독립된 Branch에서 마음대로 소스코드를 변경하여 작업 한 후 원래 버전과 비교하여 또 하나의 새로운 버전을 만들어 낼 수 있다.

 

▶ 1. Branch 확인 하기

1) 현재 내가 위치한 Branch 확인

#git branch

 - 현재는 master 브랜치만 존재 한다. (master :최초 레포지토리 생성후 커밋하면 자동으로 생기는 브랜치)

 - *가 붙어있는 브랜치가 현재 활성화된 브랜치이다.

 

#git status

 

 - On branch master > 마스터 브랜치 위에 있다.

 

2) 원격 저장소의 브랜치 확인

#git branch -r

 

3) 브랜치의 마지막 커밋 메세지 확인

git branch -v

 

▶ 2. Branch 생성 및 이동

2.1 첫번째 방법

1) Branch 생성하기

 - git branch 브랜치명

ex)

#git branch test

 

 

2) 생성한 Branch로 이동하기

 - git checkout [브랜치명]

※ git 2.23버전 부터 git checkout을 대신하여 switch와 restore가 나오게 되었다.

checkout의 기능이 너무 많아 분리하였다고 볼 수 있다.

 

 - checkout: Switch branches or restore working tree files

 - switch: Switch branches
 - restore: Restore working tree files

 

 - git switch[브랜치명]

 

ex)

#git switch test

 

2.2 두번째 방법

1) 브랜치를 새로 만들면서 브랜치 변경

 - git checkout -b 브랜치명

※ 브랜치를 만들면서 브랜치 변경하는 명령어도 변경 되었다.

 - $ git switch -c [브랜치명]

 

ex)

#git switch -c test2

 

2.3 git switch -t orogin/[원격브랜치명]

 - 원격 브랜치와 같은 이름으로 로컬 브랜치를 생성하고 스위치 할 수 있다.

 

▶ 3. git 변경사항 복원

1) git restore 

 - 작업중인 파일(변경 내역이 있는 파일)을 복원할 수 있다.

ex)

#git restore .
#git restore App.js

 

2) git restore --staged

 - stage된 파일도 복구할 수 있다. (예전엔 git reset HEAD 파일명 으로 복구할 수 있었다.)

ex)

$ git restore --staged .
$ git restore --staged App.js

 

▶ 4. Branch 삭제

1) git branch -d 브랜치명

ex)

#git branch -d test2

2) git branch -D 브랜치명

 - 다음과 같이 머지가 정상적으로 지 않았거나, 충돌이 해결되지 않은 브랜치는 오류메세지가 발생한다. 이런경우 강제로 삭제할때 -D 옵션을 사용한다.

error: The branch ‘branch' is not fully merged.
If you are sure you want to delete it, run 'git branch -D branch'.

 

3) git push origin --delete [브랜치명]

 - 원격 브랜치를 삭제할 경우 사용 가능하다.

 

▶ 5. 생성한 Branch를 원격 Repository에 push 하기

1) 생성한 branch로 이동

ex) > checkout은 switch로 대체 되었다.

#git switch test
#git push

 - 현재 원격 레포지토리(github)에는 master branch밖에 없는 상태이고, test branch로 이동하여 push를 하면 오류가 발생한다.

 - 로컬 레포지토리를 리모트 레포지토리로 처음 push할때는 --set-upstream 옵션을 줘야 한다. 
그래야 tracking 정보 설정이 되어 git push만 사용해도 push가 된다.

 - 위의 메세지 처럼 --set-upstream 옵션을 사용해 보자.

#git push --set-upstream origin test

 

 위 명령어는 다음과 같이 줄여서도 실행 가능하다.

#git push -u origin test

 - github 페이지로 가서 결과를 확인해보면 신규 branch가 생성되어, 총 2개의 브랜치로 늘어난 것을 볼 수 있다.

 - 신규 branch > push 이전

 - 신규 branch > push 이후

 

 이로써 기본적으로 git branch 생성, 삭제, 이동 하는 방법을 알아 보았다.

반응형

댓글5