일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- git 협업셋팅
- JS append
- JS setTimeout
- JS 스코프
- js 변수
- JS clearInterval
- JS setInterval
- JS 연산
- JS form action
- JS 함수
- JS prompt
- JS appendChild
- JS 화살표함수
- JS classList
- JS 데이터타입
- JS form
- JS preventDefault
- JS localStorage
- JS 기초
- JS 형변환
- JS typeof연산자
- JS 숫자
- HTML기초
- JS 타이머기능
- JS value속성
- CSS기초
- JS redirection
- JS 삼항연산
- JS null undefined
- CSS속성정리
공부기록용
GIT(branch) 본문
branch
브랜치란 독립적으로 어떤 작업을 진행하기 위한 개념입니다. 필요에 의해 만들어지는 각각의 브랜치는 다른 브랜치의 영향을 받지 않기 때문에, 여러 작업을 동시에 진행할 수 있습니다.
저장소를 처음 만들면, Git은 바로 'master'라는 이름의 브랜치를 만들어 둡니다. 이 새로운 저장소에 새로운 파일을 추가 한다거나 추가한 파일의 내용을 변경하여 그 내용을 저장(커밋, Commit)하는 것은 모두 'master' 라는 이름의 브랜치를 통해 처리할 수 있는 일이 됩니다.
'master'가 아닌 또 다른 새로운 브랜치를 만들어서 '이제부터 이 브랜치를 사용할거야!'라고 선언(체크아웃, checkout)하지 않는 이상, 이 때의 모든 작업은 'master' 브랜치에서 이루어 집니다.
통합 브랜치(Integration Branch)
언제든지 배포할 수 있는 버전을 만들 수 있어야 하는 브랜치 입니다. 늘 안정적인 상태를 유지하는 것이 중요합니다. 일반적으로 저장소를 처음 만들었을 때에 생기는 'master' 브랜치를 통합 브랜치로 사용합니다.
토픽 브랜치(Topic Branch)
기능 추가나 버그 수정과 같은 단위 작업을 위한 브랜치 입니다. 여러 개의 작업을 동시에 진행할 때에는, 그 수만큼 토픽 브랜치를 생성할 수 있습니다. 토픽 브랜치는 보통 통합 브랜치로부터 만들어 내며, 토픽 브랜치에서 특정 작업이 완료되면 다시 통합 브랜치에 병합하는 방식으로 진행됩니다. 이러한 토픽 브랜치는 '피처 브랜치(Feature branch)' 라고 부르기도 합니다.
작업이 완료된 토픽 브랜치는 최종적으로 통합 브랜치에 병합됩니다. 브랜치 통합에는merge 를 사용하는 방법과 'rebase'를 사용하는 방법의 2가지 종류가 있습니다. 어느 쪽을 사용하느냐에 따라 통합 후의 브랜치의 이력이 크게 달라집니다.
merge
merge 를 사용하면, 여러 개의 브랜치를 하나로 모을 수 있습니다. 변경 내용의 이력이 모두 그대로 남아 있기 때문에 이력이 복잡해짐.
rebase
이력은 단순해지지만, 원래의 커밋 이력이 변경됨. 정확한 이력을 남겨야 할 필요가 있을 경우에는 사용하면 안됨.
브랜치 만들기
$ git branch <branchname>
브랜치 전환하기
새로 만든 브랜치를 사용하여 어떤 작업을 수행하려면, 이 브랜치를 사용 하겠다고 명시적으로 지정해 주어야 합니다. 이 때 사용하는 명령어가 바로 checkout 입니다. 체크아웃(checkout)이란, 내가 사용할 브랜치를 지정하는 것을 의미합니다.
$ git checkout <branch>
checkout 명령에 -b 옵션을 넣으면 브랜치 작성과 체크아웃을 한꺼번에 실행할 수 있습니다.
$ git checkout -b <branch>
브랜치 병합하기
$ git merge <commit>
브랜치 병합은 merge 명령어로 실행합니다. 이 명령어에 병합할 커밋 이름을 넣어 실행하면, 지정한 커밋 내용이 'HEAD'가 가리키고 있는 브랜치에 넣어집니다. 'HEAD'는 현재 사용중인 브랜치에 위치하게 됩니다.
$ git checkout master
'master'브랜치에 작성했던 브랜치에 넣기 위해서는 우선 'master' 브랜치에 'HEAD'가 위치하게 만들어야 합니다. 이 때에는 checkout 명령어를 이용하여 현재 사용중인 브랜치를 'master'로 전환합니다.
$ git merge <commit>
이제 'master' 브랜치가 가리키는 커밋이 '작성한커밋'과 같은 위치로 이동했습니다. 이런 방식의 병합을 'fast-forward (빨리감기) 병합'이라고 합니다.
브랜치 삭제하기
브랜치의 내용이 모두 'master'에 통합 되었기 때문에 이제 더 이상 '만들었던' 브랜치가 필요없게 되었습니다.
$ git branch -d <branchname>
브랜치를 삭제하려면 branch 명령에 -d 옵션을 지정하여 실행하면 됩니다.
'issue2' 와 'issue3' 브랜치를 만든 후, 'issue2' 브랜치로 전환 합니다.
$ git branch issue2
$ git branch issue3
$ git checkout issue2
Switched to branch 'issue2' $
git branch
* issue2
issue3
master
git commit -m "만든branch : 코멘트"
> 코멘트 추가하기
'💡깨달음💡 > GIT' 카테고리의 다른 글
GIT(.gitignore) (0) | 2023.07.24 |
---|---|
GIT(초기 설정과 상태 관리 및 commit) (0) | 2023.07.24 |
GIT(기본 명령어) (0) | 2023.06.08 |
GIT(설치, 환경설정) (0) | 2023.06.08 |
GIT(개념_03) (0) | 2023.06.08 |