branch?
브랜치란 독립적으로 어떤 작업을 진행하기 위한 개념이다
필요에 의해 만들어지는 각각의 브랜치는 다른 브랜치의 영향을 받지 않기 때문에
여러 작업을 동시에 진행할 수 있다.
브랜치 만들기
New 브랜치를 클릭하고
원하는 이름을 작성한 뒤 생성
브랜치 사용법
새로 만든 브랜치로 선택을 한 상태에서
기존 내용에 그리고 고니는 거지가 됐다.
를 추가 한 후에 커밋을 했다.
이 상태에서 브랜치를 다시 master로 변경하면
sad-ending에 변경했던 내용은 보이지 않는다.
그 이유는 브랜치를 master로 선택했기 때문에 master 브랜치의 파일을 보고 있기 때문이다.
sad-ending 말고 happy-ending 브랜치도 추가로 만들어 준 뒤
그리고 고니는 부자가 됐다.
를 추가 하고 커밋해 주었다.
현재 sad-ending 브랜치에는
그리고 고니는 거지가 됐다. 라는 엔딩이 추가되 있고
happy-ending 브랜치에는
그리고 고니는 부자가 됐다. 라는 엔딩이 추가되어 있다.
브랜치를 변경하면 보고 있는 브랜치의 파일을 보기 때문에
어떤 브랜치를 선택하냐에 따라서 내용이 달라진다는건 이해 했을거라 믿는다.
그런데 여기서 만약 master 브랜치를 수정 하면 나머지 두개의 브랜치는 어떻게 되는걸까?
본문에 고니 라고 되어있는 부분을 고라니로 모두 바꿔 주었다.
메뉴에 가려서 잘 안보이지만 지금 선택된 브랜치는 sad-ending 브랜치이고
그 상태에서 Branch메뉴를 열고 그 안에 있는 Update from default branch를 선택했다.
즉 고니를 고라니로 바꾼 master 브랜치의 내용을 sad-ending 브랜치로 업데이트 하겠다는 것이다.
그럼 아래와 같이 master 브랜치의 변경된 내용이 sad-ending 브랜치에 적용된 것을 볼 수 있다.
이름도 고라니로 바뀌고 sad-ending 브랜치의 마지막 줄도 그대로 있는 것을 볼 수 있다.
다음의 작업을 위해 happy-ending도 mater브랜치에서 업데이트를 받아 두었다.
이제는 엔딩을 해피엔딩이나 세드엔딩중 하나를 선택해서 master 브랜치에 엔딩을 적용하고 싶다.
happy-ending을 선택할 것이다.
분리했던 브랜치를 master 브랜치에 하나로 합치는 작업이 된다.
먼저 master 브랜치를 선택 한 뒤에
Merge into current branch를 선택해주고
master 브랜치에 적용하려는 브랜치를 선택하고 실행해주면
다른 브랜치에서 작업했던 내용이 master 브랜치에 적용된다.
만약 서로 다른 브랜치에서 같은 행의 내용을 바꾼뒤 머지를 하면
아래와 같은 경고가 뜨게 되는데 confilcted(갈등)이 생겼다 라는 문구이다.
수정된 내용이 서로 겹친다 정도로 이해하면 된다.
위의 문구를 보고 그냥 머지를 하게 되면 또 아래와 같이 경고가 뜨고
코드를 보면 뭔가 두개중 하나를 고르라는 느낌의 내용이 생겨있다.
당황하지 말고 어떤 내용을 사용할지 확인 하고 사용할 코드를 남기고 지우면 된다.
아래와 같이 사용할 코드만 남기고 정리를 하고 나면
이렇게 경고 문구가 사라지게 되고 머킷 머지 버튼을 눌러서 작업을 마무리 해주면 된다.
댓글