git branch / git merge

2023. 2. 27. 11:22GIT

브랜치란 ?

  • 커밋 사이를 가볍게 이동할 수 있는 '포인터'
  • 다른 브랜치의 작업과 별개로 진행해서 '임시 작업'을 진행할 수 있다.

 

git branch [브런치명]

1. 현재 작업중인 커밋을 가르키는 브런치를 생성한다.

 

 

git commit -m "커밋메시지"

2. 하지만 head포인터는 기존 브런치인 main을 가르키고 있기 때문에 commit을 수행하면 브런치는 이전 커밋에 남아있게 된다.

 

 

git checkout [이동할 브런치명]
git commit -m "커밋메시지"

3. git checkout [브런치명] 을 통해 해당 브런치가 가르키는 커밋으로 이동한다.

** 이때 실제 파일에서도 물리적으로 변경되며 과거로 이동한다.

 

4. 다른 브런치와 합병 (merge)

git merge main
// 현재 head포인터가 가르키는 브런치가 test이기 때문에 다른 브런치를 선택해야 한다.

test에서 main을 지목하며 합병한다.

main이 가지고 있는 정보를 모두 가져온다.

 

 

실제로는 git commit이 바로 수행되지 않기 때문에

touch 1 -> git add . -> git commit -m "커밋메시지" 등의 과정을 거쳐야 한다.

 

실제 git bash 에서 진행사항을 확인하려면

git log --oneline --graph --all 로 확인하면 편하게 볼 수 있다.