1. Git Branch?
Git 브랜치(branch)는 Git 버전 관리 시스템에서 코드를 효과적으로 관리하고 개발하는 데 사용되는 기능 중 하나입니다. 브랜치는 코드의 특정 버전을 나타내는 포인터이며, 개발자들은 동시에 여러 가지 작업을 진행하거나 서로 다른 기능을 개발할 수 있도록 도와줍니다.
새로운 기능을 추가하거나 버그를 수정하려고 할 때, 기존의 코드를 변경하지 않고 새로운 브랜치에서 작업할 수 있습니다. 이는 여러 작업이 서로 간섭하지 않고 병렬로 진행될 수 있도록 합니다. 작업이 완료되면, 해당 브랜치를 기존의 코드에 통합할 수 있습니다.
아래와 같이 각 Commit은 해시 코드를 가지고 있으며 부모의 해시코드를 가리키고 있습니다.
2. Master Branch
Master Branch는 Git 저장소에서 기본적으로 생성되는 기본 브랜치 중 하나입니다. 이 브랜치는 초기 Git 저장소를 생성할 때 자동으로 만들어지며, 보통 프로젝트의 초기 상태를 나타냅니다. 개발자들은 이 "master" 브랜치에서 작업을 시작하고, 여기에 있는 코드를 기반으로 새로운 기능을 개발하거나 버그를 수정할 수 있습니다.
아래 그림에서 보이는 main이 Master Branch를 의미합니다.
또한, 'On Branch main'도 이를 의미합니다.
"master" 브랜치는 Git 저장소를 초기화할 때 기본적으로 생성되는 기본 브랜치의 이름 중 하나였습니다. 그러나 Git의 사용 방식이 변화하면서 "master" 브랜치의 이름 대신 "main"이나 다른 이름을 사용하는 추세가 있습니다. 이것은 주로 다양한 이유로, 특히 다양한 문화적 및 언어적 이슈와 함께 사용자 커뮤니티에서의 더 나은 포용성을 위해서입니다.
>git branch
저장소에 있는 현재 존재하는 브랜치 목록을 보여줌
(*가 있는 곳이 현재 위치하는 Branch)
# Head -> Master
HEAD -> master는 Git에서 현재 작업 중인 브랜치와 커밋을 나타내는 표기입니다.
HEAD: Git에서 현재 작업 중인 커밋을 가리키는 포인터입니다. HEAD는 현재 브랜치의 최신 커밋을 가리키거나, 직접적으로 커밋을 가리키는 "detached HEAD" 상태에 있을 수 있습니다.
master: 이는 현재 작업 중인 브랜치의 이름입니다. "master"라는 브랜치에서 작업 중이라는 것을 나타냅니다.
* Head는 언제나 master branch에서 가장 최근에 commit한 branch를 가리킴
3. Branch 생성 및 전환
>git branch <branch-name>
새로운 branch를 만듦 (Note : 만든 branch로 이동하는 것이 아님)
=> Head는 master와 새로 만든 branch를 가리킴
★
>git switch <branch-name>
branch간에 이동
★★
>git switch -c <branch-name>
branch를 생성 후, 생성된 branch로 이동
>git checkout <branch-name>
git switch와 동일한 작업을 하지만, 오래된 명령
※ 주의 사항
파일을 수정한 후, git switch 명령시 데이터가 삭제될 수 있어서 오류가 발생합니다.
-> commit하거나 삭제하거나 stash(임시 저장)하여 해결
4. Branch 삭제 및 이름 변경
>git branch -d <branch-name>
branch 삭제
>git branch -D <branch-name>
병합 상태와 관계없이 강제 삭제
>git branch -d <new-branch-name>
branch 이름 변경 ( 이름을 바꾸고자 하는 branch에서 수행)
'Study > GIT' 카테고리의 다른 글
[Git] 6. Git Diff로 비교하기 (0) | 2023.12.03 |
---|---|
[Git] 5. Git Merges (branch 병합하기) (0) | 2023.11.29 |
[Git] 깃크라켄(GitKraken) GUI 환경에서 Git 사용하기 (0) | 2023.11.27 |
[Git] 3. Commit 추가 사항들 (0) | 2023.11.27 |
[Git] 2. Git 기초 (0) | 2023.11.27 |
Tag