필요할 수 있는 다양한 브랜치들
이제 앞의 설명에 이어서 Github에 내 블로그의 html과 css내역을 담은 브랜치를 만들고자 한다.
일단 브랜치를 만들기 전에 그 브랜치를 담을 저장소(repository)를 하나 만들어야 한다.
보통 하나의 저장소에는 하나의 프로젝트가 (또는 회사 입장에선 하나의 상품이) 들어가면 적당하다.
하지만 하나의 상품을 만든다 하더라도 결국 다수의 브랜치들이 필요한데 그 내용은 보통 아래와 같을 수 있다.

Master 브랜치 – 가장 업데이트 안되기에 가장 안정적인 버전을 담고 있음. 개발의 밑바탕이 됨. 보통 릴리즈가 끝나면 그 버전이 다음 마스터 버전이 됨.
개발자들 브랜치 – 개발자들의 개별 작업이 이루어지는 브랜치
develop 브랜치 – 개발자들의 작업이 모두 합쳐지는 브랜치 적절한 시점에 릴리즈 브랜치의 시작 버전이 됨, 개발자 작업에 문제가 있다면 덩달아 문제가 생길 수 있음.
hotfixes 브랜치 – 릴리즈 버전에 문제가 생겼을 경우 우선적으로 픽스돼야 하기에 핫픽스 브랜치를 따서 디버깅함
release 브랜치 – 개발물의 상품화가 이루어질 때 생성되는 브랜치, 여기에 추가되는 업데이트들은 가급적이면 문제없이 안정적으로 기능해야 한다. 발매나 납품을 통해 release작업이 끝나고 나면 이 버전은 다음 develop버전이자 Master버전이 될 확률이 높다.
이 플로우 차트는 git을 사용하는 일반적인 방법론적 바탕 위에, 내가 실제 실무에서 경험하고 느낀 바를 더해 만들어졌다. 어떤 이름의 브랜치를 반드시 어떻게 이용해야 한다는 정확한 법칙은 없다. 그저 repository를 하나 만들어서 개발을 진행하다 보면 다양한 브랜치가 어떤 필요에 의해 만들어지고 운영될 수 있다는 게 요점이다.
Github에 레포지터리 만들기
이전 설명에서 가입해둔 Github에 로그인하고 레포지터리를 만들어 보자.
로그인 (sign in)하면 아래와 같은 첫 페이지를 볼 수 있다.

좌측 상단 repositorites 글자 옆에 보이는 New 버튼을 누르자.

레포지터리 이름을 정한다. 난 내 블로그 정보를 담을 예정이기에 때문에 “Myblog_Acknowledge”라고 이름 지어줬다.

다음은 공개 옵션이다.
- Public 이 레포지터리를 익명의 모든 사용자가 볼 수 있게 된다. 단 이 레포지터리의 내용을 수정하고 작업해 나갈 수 있는(commit) 사람은 내가 정할 수 있다.
- Private 공개하지 않는다. 이 레포지터리를 보거나 작업할 수 있는 사람은 역시 내가 정한다.
난 일단 내 자료를 다른 사람들이 못 보도록 Private 설정을 하겠다.
그리고 처음에 만들 때 프로젝트에 관한 설명글 파일 “이 프로젝트는 어떤 프로젝트이며.. 어쩌고 저쩌고”이나 라이선스 정보 파일 “이 프로젝트는 상업적 용도로 사용하지 못하며 어쩌고…”등을 넣는 옵션이 있다. 일단 넘어가자.
화면 하단에 Create repository 버튼을 눌러 레포지터리를 생성하자.
레포지터리가 만들어졌다.


화면 파란 박스 안에 주소가 보이는데 그게 웹상에서의 내 레포지터리 주소다. Public 설정이 되어있다면, Github 사이트 밖에서도 이 주소를 통해 다른 이들이 내 레포지터리에 접근할 수 있다.
그런데 이 주소가 두 종류가 있다. 하나는 위에 보이는 HTTPS 프로토콜의 주소이고
다른 하나는 위의 그림에서 SSH 버튼을 눌렀을 때 보이는 SSH 프로토콜의 주소이다.

그리 큰 차이는 아니지만 https 프로토콜을 사용해서 Github에 접속할 때보다 경험상 ssh를 이용해서 접속을 할 때가 좀 더 쾌적한 작업환경을 만들어 줬었기에 이를 선호한다.
보안성은 둘 다 비슷하다고 봐야 한다. 허가받지 않은 이들이 레포지터리에 접근하는 것을 막아주거나 레포지터리를 사용하는 유저들이 제 3자의 공격 대상이 되는 걸 막아주는 암호화 기법들인데 수학적으로 무엇이 더 강력하고 훌륭한지 비교하는 건 큰 의미가 없다. 그냥 둘 다 수학적이나 구조적으로는 안정적이다.
일단 만들어진 레포지터리는 이대로 두고 내 PC의 로컬 환경도 설정하자.

보이는 것처럼 내 로컬 PC의 D드라이브(D:)에 “Repository라는 폴더와 그 하위에 MyBlog라는 폴더를 만들었다.
그리고 그 안에 6월 22일 작업하고 최초로 백업해 두었던 두 개의 블로그 스킨 파일(html, css)을 넣어두었다.


그리고 파일명을 바꾸도록 하겠다.
20210622_css.txt -> style.css
20210622_html.txt -> skin.html

상위 폴더로 올라가서 MyBlog 폴더를 오른 클릭하고 Git Bash here 메뉴를 고른다. (저번 설명에서 git을 설치했다)

Git Bash는 해당 폴더나 파일을 대상으로 git관련 작업을 할 수 있는 터미널 창(쉘)으로 보면 된다

여기에 git init 이라고 친다.

이제 MyBlog 폴더로 들어가고 폴더 상단 ‘숨긴 항목 표시’ 부분을 체크한다.

저 옵션이 안 보일 경우 ‘폴더 메뉴 중 옵션-> 보기 탭->”숨긴 파일, 폴더 및 드라이브 표시에서도 바꿀 수 있다.

그러면 숨겨진 폴더로 “.git”이 보이는데 방금 쳤던 “git init”명령어로 만들어진 폴더다, 이 폴더는 git이 이 프로젝트를 트랙킹 하고, 관리하기 위한 파일들을 넣어두는 일종의 관리 폴더이다.
개발자로서 실무에 종사하게 되면 저 “.git” 폴더를 자주 보게 되는데 그 걸 볼 때마다, 이제부터는 그 폴더가 Git에 의해 관리된다는 걸 알 수 있을 것이다.
다음 포스팅에선 이 폴더에서 작업하거나 만든 파일을 레포지터리로 올려보자.