github 기초편
지금까지 Git을 가지고 '혼자 북치고 장구치기'를 해왔다. 이번 글에서부터는 Github을 활용해서 협업 프로젝트(여기저기서 수정하기)를 시작 해보자.
브랜치를 만들어서 변경 사항을 추가하고 커밋하는 방법을 실습해봤다.
1. 브랜치 만들기 (master에서 수정/커밋하지 않기)
: $git branch <branch-name>
2. 커밋사이클: 수정 ->스테이징 -> 커밋
: 수정 -> $git add <file> -> $git commit -m "<commit-message>"
3. 커밋 메시지 작성하기 (무엇/어떻게/왜) 예: Add index.html
4. 커밋 단위 생각 고려하기 (1수정 1 커밋, 커밋메시지 한 문장으로 만들기)
이번 글에서는 Github에 원격 저장소를 세팅하고 로컬저장소를 올려보자.
https://github.com 에 들어가서 로그인을 하자. (가입을 안했다면 가입 먼저 하기)
ssh key 도 만들어서 계정에 등록해두자. local computer에서 만든 ssh-key를 Github 계정에 등록해두면 git이 github 계정과 연결된 저장소에 접근할 때 아이디/패스워드를 입력하는 수고를 덜 수 있다. 공인인증서 같은 역할을 한다고 생각하자.
개인 저장소를 만들어도 되지만 멋진 Organization을 만들어서 동료들을 초대해보자. Organization을 만들면 공동으로 운영하기 좋다. 프로젝트를 Organization으로 카테고리/그룹화 하기 좋다.
왼쪽부터 -> 오른쪽으로 3개의 플랜이 있다 (오른쪽으로 갈수록 비싸진다).
맨 왼쪽 무료 버전, Team For Open Source를 선택 하자. 무료 버전은 저장소를 공개로 해야한다(비공개는 유료 버전부터 가능).
0) Organization account name: 조직의 이름
조직의 대표이름이 된다. 앞으로 진행할 프로젝트의 목적이나 정체성을 표현하면 좋다. 멋진 이름으로 지어보자.
1) Contact email
조직의 대표 이메일 주소를 입력하자. 지금은 본인의 이메일 주소를 입력해본다.
2) This organization belongs to:
만드는 조직이 어디 소속인지를 정한다. 지금은 개인 조직이기때문에 본인의 계정을 선택한다.
조직을 같이 운영하고 커밋할 동료들을 초대할 수 있다. Search by username 에 동료들의 깃헙 계정을 입력하고 Invite를 누르자. 친구들이 없다면......Skip this step. Organization을 만든 후에도 초대할 수 있으니 걱정하지 말자..
Organization이 만들어졌다. 우리가 지금까지 로컬 저장소에서 작업한 커밋을 Push할 원격 저장소를 만들어보자. 여기저기서 만들어진 커밋과 브랜치는 원격 저장소에서 공유 된다. Create a new repsitory를 누르자.
로컬 저장소의 이름과 동일하게 하는게 좋다(my-git-project). 로컬 저장소의 이름이 잘못됐다면 새로 지어도 문제는 없다.
저장소를 설명하는 간단한 글을 적어주자.
Initialize this repository with a README, Add .gitignore:None, Add a license:None
위에 3개는 체크하지 말고 넘어가자. 이유는 다음 단계에서 설명한다.
이전 단계어서 '위에 3개는 체크하지 말고 넘어가자. '고 말한 이유는 아래 화면을 보기 위해서다. 필요한 파일이 추가되면서 저장소가 초기화된다. 따라서 초기화를 도와주는 아래 가이드라인을 넘어감
(1) 시작할 때 ssh key를 계정에 등록했기 때문에 SSH를 클릭한다. SSH로 통신을 하면 등록한 key를 사용하기 때문에 별도의 인증 절차를 거칠 필요가 없다.https를 사용할 경우 로컬저장소에서 pull/push할 때마다 아이디/패스워드 입력해줘야 한다. 넘나리 귀찮은 것이다.
(2) 기존에 존재하는 로컬 저장소를 Push하기 때문에 (2)의 명령어를 한줄한줄 따라 입력해보자.
참고: 다른 폴더 가서 하지말고 로컬 저장소가 위치한 폴더에서 하자.
#원격저장소의 주소를 로컬저장소에 추가 해준다.
~/my-git-project $ git remote add origin git@github.com:<org-name>:<repository-name>.git
#로컬의 master를 원격저장소에 push 해준다. (원격 master로 Push하는 건 이번이 마지막이다.)
~/my-git-project $ git push -u origin master
이번 글에서는 Organization을 만들어서 로컬저장소를 원격저장소에 Push하는 실습을 해봤다. 다음 글에서는 원격 저장소를 활용하는 방법에 대해서 알아보자.