저번 포스트에서는 기본적인 git과 github 사용법 대해서 알아보았다. 이번 포스트에서는 저번 포스트에 이어서 branch에 대해서 알아보자.

1. Branch란?

A, B, C 3명의 개발자가 있고 이들은 같은 소스코드를 공유한다고 헤보자. 그리고 각각 a, b, c라는 다른 작업을 수행해야한다고 해보자. 이처럼 같은 소스코드에서 서로 다른 작업을 하게 되면 서로 다른 버전의 코드가 만들어 질 수 밖에 없다.

이러한 상황에서 여러 개발자들이 동시에 다양한 작업을 할 수 있게 만들어 주는 기능이이 'branch'다. 각자 독립적인 작업 영역에서 자신의 작업을 하면 된다. 이렇게 분리된 작업 영역에서 만들어진 다른 버전의 코드들은 나중에 원래 버전과 비교해서 하나의 새로운 버전으로 만들어 낼 수 있다.

결론적으로 branch란?
Branch란 독립적으로 어떤 작업을 수행하기 위한 작업공간이다. 각각의 branch는 서로에게 영향을 주지 않기 때문에, 여러 작업을 동시에 진행할 수 있고 나중에 합칠 수도 있다.

2. Branch 만들기, 전환

  • 그러면 branch를 만들어보자
git branch "브랜치 이름"    // branch 생성
git branch      // 현재 내가 있는 branch 확인
git branch -a   // 현재 내가 있는 branch와 만들어진 모든 branch 확인

  • branch-practice라는 branch를 만들었고 branch 목록을 보면 잘 만들어진 것을 볼 수 있다.
  • 그러면 branch를 전환해보자
git checkout "브랜치 이름"  // 브랜치 이름으로 branch 전환

  • branch가 main에서 branch-practice로 바뀐 것을 볼 수 있다.

3. Branch 원격저장소에 올리기

  • 원격저장소에 올리기 전에 내용을 바꿔보자.

  • hello.txt 파일을 만들었고 안에 HelloWorld라고 작성했다.
  • 이러면 main과 버전이 달라졌다.
  • 달라진 버전을 원격저장소에 올려보자. 그전에 add, commit은 까먹지 말고 해주자.
git push origin "브랜치 이름"   // branch를 원격저장소로 push
  • 해당 명령어 입력 후 원격저장소로 가보자.

  • 빨간부분을 눌러보면 브랜치 목록들을 볼 수 있다. 눌러보면 branch-practice 브랜치가 생겼을 것이다.
  • 눌러서 들어가면 main과는 다른, hello.txt가 있는 버전의 branch를 볼 수 있다.

4. Branch merge(병합)

  • 이번에는 main과 branch-practice를 병합해보자.
  • 일단 먼저 main으로 이동하자.(git checkout main)

  • 보다시피 main에는 hello.txt가 없는 것을 볼 수 있다.
  • main에도 아까 작성했던 hello.txt를 가져와보자.
git merge "브랜치 이름"    // 현재 있는 branch에 브랜치 이름 branch 병합

  • 병합 후 main에도 hello.txt가 생겼고 내용도 HelloWorld로 잘 병합 된것을 볼 수 있다.
  • 병합된 main은 local저장소이므로 원격저장소에는 아직 변경사항이 적용되지 않았다. 병합된 main을 원격저장소에도 적용시키려면 main에 push를 해주면 된다.


마치며

이번 포스트에서는 독립적인 작업 공간을 만들어주는 git의 branch에 대해서 알아보았다. 다음 Git 완전정복 3탄에서는 또 다른 병합 방법인 Pull Request와 Merge Conflict(병합충돌)에 대해서 알아보자. 그럼 안녕!! (ノ◕ヮ◕)ノ*:・゚✧

profile
할 수 있다!!!

0개의 댓글