앞의 과정에서 github 원격 저장소에 내용을 push하고 원격저장소의 내용을 불러오는 pull과정을 살펴봤다.
앞의 과정들은 모두 master branch에서 작업되었다.
하지만 프로젝트 작업을 진행하다보면 현재 프로젝트에서 새로운 기능을 넣거나 실험해보고 싶은 내용이 생길 경우가 있다. 이 경우 원본 파일을 수정하게 되면 다시 원점으로 돌아오기 힘든 상황이 발생할 수 있기에 현재까지는 해당 파일을 다른이름으로 복사하여 작업하고 실험해보는 과정을 진행했었다.
하지만 Git에서는 이러한 과정을 쉽게 다룰 수 있도록 서비스를 제공한다.
Branch가 이러한 내용을 의미한다. 나무에서 가지가 뻗어나가 듯 원본 파일에서 여러 파일들을 뻗어나간다는 의미로 볼 수 있을 것이다.
우선 작업환경을 셋팅하자.
디렉토리를 생성한 후 해당 디렉토리에 기존의 master branch에 대한 내용을 불러오자.
나는 test2라는 폴더를 생성한 후 해당 폴더에 master branch의 내용을 불러왔다.
이제 여기서 Readme.txt파일을 수정한 후 저장하였다.
그리고 추가적은 branch를 생성하기 위해 다음 명령어를 사용하였다.
우선 $ git branch 명령어를 통해 현재 어떠한 branch가 존재하는지 알 수 있다.
처음에는 아무런 branch도 생성하지 않았으므로 master branch만 존재하고 branch 생성을 위해
$ git branch another
위의 명령어를 통해 "another"이라는 이름의 branch를 생성하였다.
another 이라는 이름의 branch를 생성한 후 제대로 생성되었는지 확인하기 위해
$ git branch 명령어를 다시 입력해보면 위의 그림과 같이 another과 master이 둘 다 출력되고 master에 *표시가 붙은 것을 확인할 수 있다. 즉 현재 master branch 상태의 환경이라는 것이다.
$ git checkout another 명령어를 통해 현재 환경을 another branch로 변경해주자.
그럼 커맨드라인의 끝에 ( master ) 로 표시되던 부분이 ( another ) 로 변경되는 것을 확인할 수 있다.
그럼 이제 변경된 Readme.txt 파일을 add, commit, push 해주자.
이 과정은 앞의 과정과 동일하다.
그럼 이제 깃허브 저장소로 이동하여 제대로 branch가 생성되고 적용되었는지 살펴보자.
변경된 내용이 잘 적용된 것을 확인할 수 있다.