[이클립스] 이클립스로 Git을 사용하자 2(브랜치 생성, 이동, merge(병합))
브랜치 생성은 다음과 같이 New Branch를 생성한다.
다음과 같이 브랜치 명을 입력하고 check out new branch로 되어 있는지 확인하자
check out new branch는 해당 branch로 생성과 동시에 전환한다는 의미이다.
다음과 같이 알럿이 나오는 경우가 있다,
내용은 이 톰캣 서버를 이 저장소의 프로젝트에서 확실하게 작동하고 사용하는지 묻는 알럿이다.
Continue Anyway? 어쨋든 진행할거야? 하고 묻는다.
계속하자
다음과 같이 git master에서 git hotfix로 checkout된 것을 확인할 수 있다.
그럼 이번엔 코드를 조금 수정해서 확인해보도록하자
hotfix branch에 있는 home.jsp 코드를 다음과 같이 수정했다.
해당 수정 내용은 hotfix branch에만 수정이 되는 것이고 master branch와 merge하지않는 이상 master branch에는 해당 내용이 반영되지않는다.
아래는 hotfix branch에서 home.jsp를 실행한 내용이다.
다만, 커밋을 안할 경우 어떤 branch로 이동해도 동일한 내용이 표시된다.
그러므로 꼭 커밋을 해줘야 한다.
예를 들어 다음과 같은 내용을 git hotfix에 추가를 해보자
추가한 후 master baranch로 switch를 진행한다.
동일하게 master branch에서도 해당 내용이 확인이 된다.
그렇기 때문에 커밋을 해야지 해당 branch에만 적용을 시킬 수 있다.
그럼 한번 커밋을 해보자 hotfix branch로 우선 switch한다.
그리고 다음과 같이 커밋을 진행한다.
그런데 Unstaged Changes에 아무것도없다.
이는 해당 작업물을 저장하지않아서다.
프로젝트를 저장하면 다음과 같이 Unstaged changes에 표시가 된다.
다음과 같이 커밋 메시지를 입력하고 커밋을 시도한다.
참고로 커밋은 다음과 같이 index에 추가가 되어야 하니 추가를 해주자
그럼 master branch로 checkout한 후 master branch에도 반영이 되었는지 확인해보자
커밋이 완료되었다.
그럼 이번엔 master branch로 branch를 변경해보자.
다음과 같이 master baranch에 있는 project 파일의 home.jsp 파일은 Hello hotfix2가 추가안된 것을 확인할 수 있다.
이렇게 master와 hotfix branch는 다른 branch이고 우리는 각가의 branch로 작업을 할 수 있다.
그럼 수정된 내용을 merge해서 master branch에도 내용을 반영해보자.
다음과 같이 hotfix branch를 선택하고 merge하면
다음과 같이 commit 메시지가 나온다.
master branch의 home.jsp 파일도 다음과 같이 내용이 추가된 것을 확인할 수 있다.