일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 사칙연산
- 배열
- 백준 알고리즘
- element 조회
- sql injection
- window
- xss game
- 자바스크립트
- burp suite
- suninatas 풀이
- 조건문
- property
- xss game 풀이
- object
- 함수
- lord of sql injection
- 파이썬
- 백준 파이썬
- python
- jQuery
- blind sql injection
- 포인터
- IF문
- 메소드
- Pwndbg
- github
- document
- 객체
- 김성엽 대표님
- htmlspecialchars
- Today
- Total
power-girl0-0
[GIT] git 브랜치(Branch)의 개요 및 사용 본문
해당 게시물은 나동빈 님의 'Git으로 시작하는 협업 및 오픈소스 프로젝트'강의를 바탕으로 작성된 것입니다.
스스로 공부한 것을 정리하고 복습하기 위한 목적으로 작성하였습니다.
Git Branch
깃(Git)은 동시에 여러 개발자들이 프로젝트에서 각기 다른 기능을 개발할 수 있도록 브랜치(Branch) 기능을 제공한다.
이는 서로 다른 브랜치는 작업을 함에 있어서, 서로에게 영향을 받지 않는다는 점에서 마음 놓고 서로 다른 개발 작업을 수행할 수 있다.
Branch 동작과정
브랜치의 동작 과정은 다음과 같은 예시로 표현할 수 있다.
기본적으로 Git 저장소를 만들면 자동으로 마스터(Master) 브랜치가 생성된다.
이는 일반적으로 배포가 가능한 수준의 안정화된 버전을 포함하고 있는 브랜치이다.
그래서 별도의 브랜치를 만들어 사용하고자 한다면, 체크아웃(Checkout) 명령어를 이용해야 한다.
하나의 예시를 살펴보도록 하자.
현재 우리는 배포 버전이 Master Branch에 있는 상황에서, 새로운 기능을 개발하고 있다.
새로운 기능은 Develop Branch에서 개발하고 있으며, 이와 동시에 버그가 발견되어 빠르게 버그를 수정해야 하는 일이 발생했다고 가정해보자.
이 때 버그 수정은 Bug Fix Branch에서 진행하는 것이다.
그리고 버그가 수정되는 대로 바로 Master Branch에 수정 내역과 기능을 합쳐서, 결과적인 새로운 배포 버전을 개발해야 한다.
그러면 합치기(Merge)가 수행되기 전까지는 안정적으로 배포가 이루어지고 있다가, 모든 기능이 합쳐진 이후에 다시 배포할 수 있으므로 개발의 안정성이 매우 뛰어나야 한다.
이를 위해, 사용되는 것이 Branch이다.
1) 통합 브랜치 : 배포가 가능한 수준의 브랜치로 일반적으로 마스터(Master) 브랜치를 의미합니다. 2) 토픽 브랜치 : 특정한 기능을 위해 만들어진 브랜치로 일반적으로 마스터(Master) 브랜치 이외의 다른 브랜치를 의미한다. |
브랜치 사용해보기
브랜치를 만들 때는, git branch 명령어를 이용한다.
Branch를 생성하기 전에는, 기본적으로 master만 존재한다.
우선, develop이라는 이름의 브랜치를 만들어 보자.
생성 후, 특정한 브랜치로 전환하고자 할 때는 git checkout 명령어를 사용한다.
체크아웃(Checkout) 실행하면, 아래와 같이 HEAD가 해당 브랜치로 이동하게 된다.
원래 생성되어 있던 secondfile.py에 mul함수를 추가로 생성해보았다.
그 후 위와 같이 커밋(Commit)을 진행하면, 현재 HEAD가 가리키고 있는 브랜치인 develop 브랜치에서 커밋이 진행된다.
git log 명령어를 통해 로그를 확인해보면, master 브랜치의 윗 부분에 develop 브랜치가 존재하는 걸 확인할 수 있다.
이제 마스터 브랜치로 이동해서, git merge명령어를 통해 develop 브랜치를 병합(Merge)할 수 있다.
병합 결과 위와 같이 마스터 브랜치와 develop 브랜치가 동일한 커밋 내역을 가지게 된다.
그 후 git push명령어를 실행하면, 원격지 저장소인 Git Hub에도 반영되는 것을 확인할 수 있다.
병합이 끝난 브랜치는 git branch 명령어에서 d 옵션을 넣어 제거한다.
'개발' 카테고리의 다른 글
[GIT] Git 원격 저장소(Remote Repository) 관리하기 (0) | 2021.02.17 |
---|---|
[GIT] Git 브랜치 충돌(Conflict) 처리하기 (0) | 2021.02.17 |
[GIT] git에서 commit(커밋) 내용 수정하기 (0) | 2021.02.17 |
[GIT] git 저장소에 반영하기 (0) | 2021.02.17 |
[GIT] git의 동작원리 (0) | 2021.02.17 |