git branch

학짱·2024년 10월 21일

git branch란 회사나 프로젝트에서 협업프로젝트를 하게 될때 같이 코드를 수정 및 같이 프로그래밍을 할 때 코드가 꼬이지 않게 하기 위해 각각의 독립적인 위치에서 수행 할 수 있도록 해주는 기능이다.

velog폴더를 만들어 준 후 git init을 해주어 버전 관리 환경을 만들어주었다.
그 뒤에 index.html index.css를 생성해주었을때 git은 항상 파일이 수정되거나 생성이 되었을 때는
git commit을 항상 해주고 다음 작업을 수행해야한다.

git add .는 경로 폴더 안에 커밋을 해야하는 모든 파일을 commit 대상 으로 지정하는 것이다
그 후 git commit -m "메시지 입력"commit 대상들에게 커밋을 하는데 메시지를 작성하는 것인데
이것이 중요한 이유는 협업프로젝트는 나 혼자 개발을 하는 것이 아닌 여러 사람들과 같이 개발을 할 때 수정한 부분이 무엇인지 내가 이부분을 왜 commit했는지 기록을 하기 위함이다.

main branch에는 지금 index.html과 index.css가 있는데 여기서 개발을 할때 branch를 사용하면 된다.

git switch -c 브랜치이름 은 내가 지정한 브랜치 이름으로 생성을 하면서 바로 브랜치로 이동하라는 명령어다 만약 생성만 하고 싶다면 git branch 브랜치이름을 쓰면 된다

또한 hi브랜치로 이동을 하고 싶으면 git switch hi 를 작성하면

이동할 수 있다 여기서 브랜치만 생성하였고 파일을 수정 하지 않았으니 git commit을 할 필요는 없다 다만 불안하다면 git status를 습관화 하자.

이제 내가 firvelog브랜치 에서는 html을 개발하였고 한 사람은 hi 브랜치에서 css를 개발하였다고 가정해보자

git log --oneline --all --graph :로그를 한줄로 그래프 형식으로 보여줌.
main브랜치에 hi라는 브랜치와 firvelog가 나눠져 있고 총 몇번 커밋을 한지 보여지게 된다.
하지만 main브랜치로 이동하여 vscode로 코드를 보려고 한다면

아무것도 나타나지 않는다 그 이유는 merge를 하지 않았기 때문이다
merge란 서로 다른 브랜치에서 작업을 했을때 그 작업물을 병합하는 작업이다
이러한 작업때문에 브랜치는 중요하다.
이제 작업한 부분을 merge 해보자 hi를 merge하게 되면

css작업을 한 hi 브랜치가 main브랜치로 이동을 한 것이고 이것을 FAST-FORWARD 라고 한다.

좀더 이미지 적인 모습을 보기 위해 git kraken으로 봐보자

index.html과 index.css생성이 위치였던 main브랜치가 hicss로 병합을 했서 FAST-FORWARD가 되었다

여기서 공통 조상은 main이지만 hifirvelog는 공통조상이 main이지만 사진을 보면 firvelog와 hi는 서로 연결 되어 있지 않기 때문에 마지막 커밋과 공통조상을 연결해주는 3-way merge 기법을 사용한다.

hi브랜치를 제거해주고 firvelog와 merge해보자

머지를 하게 되면 이런 창일 뜨는데 그냥 커밋 메시지니 상황을 적고 꺼주자

그럼 정상적으로 커밋이 된 것을 알 수 있고. git kraken에서도 잘 커밋이 된 것을 알 수 있다.

profile
생베이스 같은 마음으로 다시 시작

0개의 댓글