Enjoy Programming

git branch 본문

git&github

git branch

LEETAEEON 2021. 4. 5. 11:27

git에서 강력한 기능인 branch에 대하여 알아보자

branch : 사전적 용어는 가지를 치다~

 

주로 협업에 많이 좋은 기능인것 같다.

프로젝트를 진행하며 많은 커밋을 하게 되는데 여러 개발자들이 마스터에 영향을 주지않고

각자 동시에 다양한 작업을 할 수 있게 해주는 기능이다.

마스터는 그대로 유지가 되지만 각자 작업 영역에서 마음대로 소스코드를 변경할 수 있고

이렇게 분리된 작업 영역에서 변경된 내용은 나중에 원래의 버전과 비교해서 하나의 새로운 버전으로 만들어 낼 수있다.

이 그림이 잘 설명 해준다. 마스터는 독립적으로 유지 되지만 나나 또다른 누군가가 같은 코드를

다른 영역에서 구성하고 변경하고 손볼 수 있다. 이는 작업시에 마스터에 영향을 주지 않는다.

그리고 나중에 이를 합치고 프로젝트를 완성할 수 있다 

또는 그냥 각자 다른 프로젝트를 진행 할 수도 있다.

 

github desktop에서 새로운 브랜치를 만들어 보자

생성후 새로운 브랜치환경에 놓으면

vscode도 새로운 브랜치 환경에서 작업하는 것으로 설정된다.

여기서 내가 코드를 수정하고 커밋하면 새로운 브랜치에 커밋이 되는 것이다

메인으로 돌아가보면 새 브랜치에서 수정한 내용은 없다

와우 이게 가능하다니....협업이 아니더라도 많은 도움이 될 듯 하다

예를들어 내가 메인으로 코드를 작성 해놓고 다른 무언가를 실험해 보고 싶을때 기존 코드를 건들어 가며

바꾸면 차후 수정시 많이 힘들어진다...

이것을 완벽히 해결하는 branch!!!그냥 일정 시점에서 내가 새로운 브랜치를 만들어서 거기서 실험하고

merge시켜주면 된다.

merge해주는 것은 예를들어 내가 코드를 작성해놓고 다른 브랜치에서 하나의 커밋을 더 했다고 하자

그럼 마스터보다 새로운 브랜치가 1커밋이 더 많은 것이다

이때 merge into current branch를 하면 새 브랜치에서 실행한 1커밋을 마스터로 가져온다

쿠울!!

 

이것 외에 우리가 branch를 사용해야 하는 이유는

특별한 이름에 특별한 branch를 가지고 있으면 static website에 대해서 github에서 무료로  static hosting할 수 있게 해준다고 한다.

static website란 오직 html css  javascript로만 이루어진 웹사이트이다. 백엔드는 안되고 프론트엔드만 가능하다

 

한번 배포를 해보자

먼저 새 브랜치를 만들어주는데 브랜치 이름은 무조건 gh-pages라고 해야한다 한다.

만약 다른 이름이라면 퍼블리싱이 안된다고 한다. git-hub page라는 건가?

또한 repository도 public상태여야 한다.

만들고서 publish branch를 해주자

퍼블리싱이 되었다면 github에가서 repository로 가본다. 

 

 

페이지에서 github-pages를 클릭하고 들어가면

이렇게 나오고 view deployment를 클릭하면 페이지가 실행이된다.

여기서 내 주소를 알 수 있는데 내 경우 lee-tae-eon.github.io/cocoaClone 이다

보통 깃헙아이디.github.io/repositoryName인듯 하다.

 

그리고 깃헙 페이지를 업데이트 하기 위해서는 ! 중요하게도

master에서 코드를 수정후 커밋을 해야한다. 수정후 gh-pages branch로 이동하고

상단 branch에서 update from main을 해준다. 이것은 메인에 업데이트 된 내용을 모두 가져오겠다는 뜻이다.

그리고 push!!!

반드시 마스터에서 수정후 업데이트를 해주자~! 국룰인듯 싶다.!!

 

여기까지 드디어 완강하였다!! 정말 유익했다

이제 내가 직접 변화를 주고 다른 코드를 짜봐야겠다

챌린지도 오늘부터 시작이다

 

유튜브 풀스택 강의 결제하려는데 왜 오류뜨니;;;

저번달에는 했는데 왜 대행승인 불가라고 뜨는거야....

 

바로 이어 가야하는데 ㅠㅠ