반응형

이전 자료

https://jung-story.tistory.com/124

 

Git 이란? - Git에 대한 이해

이번에는 실제로 대부분의 개발자들이 협업을 위해서 사용하는 Git에 대해서 알아보도록 하겠습니다. Git이란? Git을 이해하기 위해서는 우선 Version Control System이라는 것을 알아야합니다. Git이란

jung-story.tistory.com

https://jung-story.tistory.com/125

 

Git - 저장소 만들기와 커밋(Commit) 하기

이해를 돕는 자료 https://jung-story.tistory.com/124 Git 이란? - Git에 대한 이해 이번에는 실제로 대부분의 개발자들이 협업을 위해서 사용하는 Git에 대해서 알아보도록 하겠습니다. Git이란? Git을 이해하

jung-story.tistory.com

 


Branch

소프트웨어를 개발할 때에 개발자들은 동일한 소스코드를 함께 공유하고 다루게 됩니다. 동일한 소스코드 위에서 어떤 개발자는 버그를 수정하기도 하고 또 다른 개발자는 새로운 기능을 만들어 내기도 하죠. 이와 같이 여러 사람이 동일한 소스코드를 기반으로 서로 다른 작업을 할 때에는 각각 서로 다른 버전의 코드가 만들어 질 수 밖에 없습니다.

이럴 때, 여러 개발자들이 동시에 다양한 작업을 할 수 있게 만들어 주는 기능이 바로 '브랜치(Branch)' 입니다. 각자 독립적인 작업 영역(저장소) 안에서 마음대로 소스코드를 변경할 수 있지요. 이렇게 분리된 작업 영역에서 변경된 내용은 나중에 원래의 버전과 비교해서 하나의 새로운 버전으로 만들어 낼 수 있습니다.

 

Branch 란?

브랜치란 독립적으로 어떤 작업을 진행하기 위한 개념입니다. 필요에 의해 만들어지는 각각의 브랜치는 다른 브랜치의 영향을 받지 않기 때문에, 여러 작업을 동시에 진행할 수 있습니다.

 

또한 이렇게 만들어진 브랜치는 다른 브랜치와 병합(Merge)함으로써, 작업한 내용을 다시 새로운 하나의 브랜치로 모을 수 있습니다.

 


Branch 생성하지 않을 시

특별히 Branch를 따로 만들지 않고 작업을 진행했다면 그건, Master branch에서 작업을 하고 있던 것입니다.

혼자서 작업을 할 경우 문제는 없는데, 여러명의 개발자와 협업을 진행하게 되었을 때, 문제가 발생하게 됩니다.

 


Branch 생성

여러명의 개발자가 협업을 할때 각자의 작업환경을 만들어 주는 것을 Branch라고 합니다.

이때 Branch이름은 지정해 줄 수 있습니다.

여러개발자들이 각각의 Branch에서 개발을 진행하고 Master branch에 하나씩 merge 해나가는 작업이 보통 협업을 할때 사용되는 방법입니다.

 


Branch 사용 기본 명령어

  • git branch : 브랜치 목록 확인 (*은 현재 활성화된 브랜치 옆에 표기됨.)
  • git branch [브랜치명] : 브랜치 생성
  • git checkout [이동할 브랜치명] : 브랜치 전환
  • git merge [가져올 브랜치명] : 브랜치 병합 (특정 브랜치 - specified branch's history를 가져와 현 브랜치로 병합)
  • git branch -d [삭제할 브랜치명] : 브랜치 삭제

 


Branch 생성 예제

https://jung-story.tistory.com/125

위의 예제에 이어서 작업.

 

현재 사용중인 branch 확인

 

test1 이라는 Branch 생성

 

master에서 test1로 브랜치 이동

 

test1 브랜치에서 test.html 파일 수정

 

test1 브랜치에서 수정한 파일 Commit

 

master 브랜치에서 test.html 확인 (값이 안변해 있음)

 

다시 test1 브랜치로 이동해서 test.html 파일 확인

(Merge 하기 전까지는 master 브랜치에서 test1 브랜치의 수정된 값을 확인 할 수 없다.)

 

master 브랜치로 이동한 다음에 test1 브랜치 Merge하기

(master 브랜치에서 test1에서 수정된게 잘 들어와 있는것을 확인.)

 

test1 브랜치 삭제


결론

branch를 나누어서 사용을 하여, 각각의 작업물들이 나오게 되었을때, 그것을 Merge를 통해 하나씩 병합하는 작업을 진행하면서, 프로젝트의 완성도를 높혀나가는 과정을 수행 할 수 있습니다.

 

그러나 동시에 같은곳을 수정해서 merge (병합)을 할때 동시성 오류가 발생할 수 있는데, 

즉 한개의 Master 브랜치를 가지고 각각 수정해서 합칠려고 보니까 한파일을 동시에 수정을 한경우 어떠한 것이 적용이 되어야 하는지 어떻게 잘 Merge 해야하는지에 대해서 다음에 알아보도록 하겠습니다.

반응형

'개발지식 > git' 카테고리의 다른 글

Git - Merge 충돌 해결  (0) 2021.08.06
Git - 저장소 만들기와 커밋(Commit) 하기  (0) 2021.08.06
Git 이란? - Git에 대한 이해  (1) 2021.08.06

+ Recent posts