본문 바로가기
쿤즈 DevTool/Git

[Git] 여러사람이 함께 작업하는 브랜치 git branch

by :)Koon 2021. 4. 5.

Git을 이용하는 궁극적인 목적은 소스 관리를 하기 위함입니다. 소스 관리는 혼자 할 수도 있지만 여러 사람이 함께 작업하며 관리할 수도 있습니다. 그래서 필요한 부분이 브랜치입니다.

 

 

이번 포스팅에서는 브랜치에 관해서 알아보도록 하겠습니다.


여러 작업을 나누기 위한 방법 Branch

혼자 작업하더라도 여러 가지 작업을 나눌 필요가 있을 수도 있습니다. 또 여러 사람이 함께 작업하게 되면 소스코드가 어떤 것이 최신인지 알 수 없게 될 수도 있습니다. 그래서 등장한 것이 Branch입니다.

 

Branch를 나누게 되면 여러 사람이 함께 공동작업을 할 수 있습니다. 누구는 최종 릴리즈 버전에 대해서 개발을 해나가고, 누구는 추가되는 기능을 개발하고, 또 다른 누군가는 버그를 픽스하는 작업등을 각각의 Branch에서 작업이 가능합니다.

 

이렇게 다른 브랜치로 개발을 하고 나면 나중에는 모든 브랜치를 하나로 합쳐서 최종 릴리즈 버전을 만들 수 있습니다.


브랜치 만들고 이용하기 git branch

브랜치를 만들기 위해서 현재 내 로컬의 branch 정보를 알아봐야 합니다. 명령어는 아래와 같습니다.

$ git branch

브랜치를 확인하면 보통은 master 혹은 main으로 브랜치가 잡혀 있을 것입니다. 그리고 git bash나 shell을 이용하고 계시다면 git 디렉토리 내부일 때 현재의 branch가 프롬프트에 나타납니다.

기본적인 옵션이 2가지가 있습니다.

-r 옵션은 remote를 뜻합니다. 원격 저장소의 현재 브랜치를 화면에 보여줍니다.

-a 옵션은 all을 뜻합니다. 현재 로컬의 브랜치와 원격 저장소의 브랜치를 모두 화면에 보여줍니다.

그럼 브랜치를 만들어 보도록 하겠습니다.


새로운 브랜치

새롭게 만드는 브랜치의 이름은 bugfix-a로 해보겠습니다.

$ git branch bugfix-a

새롭게 브랜치를 생성했다면 확인해 보도록 하겠습니다.

$ git branch -a

bugfix-a라는 이름의 브랜치가 생성되었습니다.


다른 브랜치로 이동 git checkout

새롭게 생성하거나 다른 브랜치로 이동하는 방법은 아래와 같이 사용합니다.

$ git checkout bugfix-a

git checkout 명령어를 이용하면 원하는 브랜치로 변경되는 것을 알 수 있습니다. 그럼 현재 상태에서 브랜치를 확인해 보도록 하겠습니다.

$ git branch -a

현재 선택한 브랜치가 어떤 것 인치 * 표시를 통해서 보여주고 있습니다. 이렇게 브랜치 작업을 하고 작업이 완료되면 다시 원래의 브랜치로 돌아가야 합니다. 동일하게 브랜치의 이름을 입력해도 되지만 이전 브랜치라면 간단하게 아래처럼 이용할 수 있습니다.

$ git checkout -

이전의 브랜츠로 돌아가는 방법입니다. 간단히 (-)만으로 이동할 수 있습니다.

그럼 새로운 브랜치에서 소스 작업을 해보도록 하겠습니다.


새로운 브랜치에서 소스 편집

위에서 만든 새로운 브랜치 bugfix-a에서 소스 하나를 수정해 보도록 하겠습니다.

기존에 있던 post.js파일을 vi편집기로 열어서 console.log('bug fix')를 추가했습니다. 현재 상태를 확인해 보도록 하겠습니다.

$ git status

현재 상태는 bugfix-a 브랜치이며 post.js 파일 1개가 수정되었다는 사실을 알 수 있습니다. 그럼 쭉 이어서 push까지 진행해 보겠습니다.

$ git add .
$ git commit -m "bug fix post.js'
$ git push

git add, commit, push까지 이어서 작업을 완료했습니다. 하지만 마지막에 에러가 발생합니다. 원격 저장소인 GitHub에는 bugfix-a라는 이름의 브랜치가 현재 없습니다. 따라서 생성하면서 업로드가 되어야 합니다. 그래서 마지막 명령어를 수정합니다.

$ git push -u origin bugfix-a

새로운 브랜치를 올리기 위해서 명시해 줍니다. 그럼 로그에 new branch라는 내용이 표시가 되면서 새로운 브랜치가 생성되고 소스코드가 업로드됩니다. GitHub에서 확인해 보겠습니다.


GitHub에서 브랜치 확인

GitHub에 로그인하면 새로운 브랜치가 업데이트된 로그가 등장하고 현재 브랜치가 표시됩니다.


브랜치 생성 및 삭제 git checkout -b / -d

앞선 브랜치 생성에서는 브랜치 생성 이후에 checkout 명령어를 통해서 현재 브랜치를 변경했습니다. 이 둘을 동시에 진행할 수도 있습니다.


브랜치 생성 git checkout -b

브랜치를 생성하기 위해서는 아래와 같이 명령어를 입력합니다.

$ git checkout -b delete-a

checkout -b 옵션을 주고 새로운 브랜치의 이름을 주게 되면 생성과 변경을 동시에 진행합니다. 


브랜치 삭제 git branch -d

브랜치를 삭제하고 변경하기 위해서는 아래와 같이 입력합니다. 단 현재 브랜치를 삭제할 수는 없기 때문에 다른 브랜치로 변경하고 삭제해야 합니다.

$ git branch -d delete-a

정상적으로 생성하고 삭제된 것을 볼 수 있습니다.


이번 포스팅에서는 여러 사람이 공동으로 작업할 때 필요한 branch에 대해서 알아보았습니다. 최종적으로 소스를 합치는 작업은 아직 진행하지 않았지만 개별적으로 브랜치를 만들어서 작업이 가능하다는 사실을 알게 되었습니다. 도움이 되셨으면 합니다. 이상입니다.

댓글