5. 저장소를 생성한다. 저장소는 소스코드를 저장하는 온라인상의 공간을 의미한다. 아래와 같이 생긴 버튼을 클릭한다.
6. 저장소를 생성하는 화면에서 요구하는 사항을 입력한다. 그리고 'create repository' 버튼을 클릭한다.
Repository name : 저장소의 이름을 입력한다. 우리의 목표는 생활코딩 플랫폼인 opentutorials.org를 만들어보는 것이기 때문에 opentutorials-자신의 아이디를 입력한다.
예를들면 'opentutorials-egoing'
Description : 프로젝트에 대한 설명을 입력한다. 안적어도 된다.
프로젝트가 오픈소스임을 나타내는 Public을 선택한다. Private은 돈을 내야 한다.
Initialize this repository with a README는 무시한다.
7, 아래와 유사한 화면이 나타났다면 성공적으로 저장소를 생성한 것이다. 이 화면은 github의 원격저장소에 접속하는 방법에 대한 내용이다.
Github에 동기화
Git과 github는 다르다. Git은 자신의 컴퓨터에 설치하는 프로그램이다. Git이라는 프로그램을 통해서 소소코드의 버전을 관리하고, github.com으로 변경된 버전을 업로드 하는 것이다. github.com은 업로드 된 소스코드를 협업자들에게 재분배해주는 역할등을 수행한다.
1. 지금부터 github.com 으로 소스코드를 업로드 하기 위한 인증절차를 수행할 것이다. 터미널을 열고 아래와 같이 입력한다.
ssh -keygen
그럼 아래와 같은 화면이 나타날 것이다.
2. 엔터를 계속 누르면 아래와 같은 화면이 출력되면서 종료될 것이다.
3. 아래와 같이 명령어를 입력한다. cat은 뒤에 따라오는 파일의 내용을 화면에 출력하라는 의미의 명령이다. 즉
~/.ssh/id_rsa.pub 파일의 내용을 화면에 출력하라는 뜻이다. id_rsa.pub 파일은 4번 과정을 통해서 만들어진
파일이다.
cat ~/.ssh/id_rsa.pub
4, 그럼 아래와 같은 화면이 출력될 것인데, 이 중에 ssh-rsa로 시작하는 부분부터 문자열이 끝나는 부분까지 마우스로
드래그 한 다음에 오른쪽 클릭을 하고 copy를 선택해서 복사한다. 공백이 포함되면 안 되기 때문에 정확하게 복사한다. 이 내용은
인증에 사용되기 때문에 유출되면 안 된다.
5, github.com 으로 접속한다. 상단의 Account Setting 아이콘을 클릭해서 계정 정보 변경 페이지로 이동한다.
6. 왼쪽 사이드바의 SSH Keys를 선택한 후에 오른쪽 상단에 Add SSH Key 버튼을 클릭한다.
7. 현재 사용 중인 컴퓨터(우분투)의 별명을 붙여준다. 그리고 아까 복사한 (상기 6번) SSH key를 붙여넣기 한다. 아래와 같은 모습이 될 것이다.
8. 비밀번호를 요구하면 github.com의 비밀번호를 입력한다. 이렇게 해서 SSH키를 github에 등록했다.
9. 정상적으로 잘 작동하는지 확인하기 위해서 아래와 같은 명령을 터미널에서 입력한다. '-T'는 대문자를 입력해야 한다.
ssh -T git@github.com
그 결과 아래와 같은 값이 출력된다면 성공적으로 인증된 것이다.
Hi opentutorialsorg! You've successfully authenticated, but GitHub does not provide shell access.
10. 이제부터는 자신의 컴퓨터에서 github.com으로 소스코드를 업로드 할 때 비밀번호를 따로 입력하지 않아도 자동으로 인증이 된다.
저장소 주소를 알아내는 방법은 아래와 같다.
툴바 상단에 자신의 닉네임을 클릭하면 개인화 페이지로 이동한다.
개인화 페이지에 Repositories 항목을 보면 자신이 생성한 저장소의 목록이 나열될 것이다. 그 중에 실습에 해당하는 저장소 제목을 클릭해서 그 페이지의 URL을 댓글로 알려주면 된다.
원격저장소(github.com)를 이용하기
다음 동영상은 로컬저장소의 버전을 원격저장소와 연결하는 방법에 대한 영상이다.
지금까지 저장된 버전들을 원격 저장소에 올려보자. 원격저장소는 네트워크에 연결되어 있어서 여러 사람이 접근할 수 있는 저장소를 의미한다. github.com을 원격 저장소로 사용할 것이다.
github이 사이트의 디자인을 개편해서 현재는 오른쪽 측면에서 URL을 얻을 수 있다. 아래 그림을 참조하자.
3. 터미널에서 아래의 명령을 실행한다. 아래의 명령 중 'git@github.com:mogibu/opentutorials2-mogibu.git' 부분을 2번 절차를 통해서 알아낸 자신의 SSH 주소로 변경한다.
git remote add 는 로컬 저장소에 원격 저장소를 연결하는 것이다.
'git@github.com:mogibu/opentutorials2-mogibu.git;'는 원격 저장소의 URL이고
origin은 이 저장소의 별명이다. 원격저장소의 URL을 항상 기억하기는 어렵기 때문에 별명을 사용한다.
4. 로컬 저장소에 저장된 버전들을 원격 저장소에 동기화시키자. 아래의 명령은 로컬 저장소의 내용을 원격 저장소로 업로드 한다.
git push origin master
이렇게 하면 github.com에 소스코드가 업로드 된다. 자신의 저장소에 방문해서 소스가 잘 업로드 됐는지 확인해보자.
이후에 작업을 진행하고 그에 따라 변경된 내용들을 commit한 후에 다시 github.com으로 소스를 업로드 할 때는 git push origin master; 명령을 실행하기 전에 다음 명령을 먼저 실행해야 한다.
git pull origin master
이 명령은 원격 저장소의 내용을 자신의 로컬 저장소로 다운로드하는 명령이다. 여러 사람이 작업하거나 다른 컴퓨터에서 작업한
내용이 원격 저장소에 있다면 git push 명령을 실행하기에 앞서서 git pull을 통해서 원격저장소와 로컬저장소의 상태를
같게 만들어야 한다.
pull은 원격저장소에서 로컬로 당겨오는 것이고, push는 로컬저장소에서 원격저장소로 밀어 넣는 것이다. 그리고 언제나 pull을 하고 그 다음에 push를 해야 한다.
커밋할 때마다 원격 저장소로 push해야 하는 것은 아니다. 혼자 작업하는 경우라면 좀 천천히 push해도 좋고, 여럿이
작업하는 것이라면 push와 pull을 자주 하는 것이 좋다. 서로 같은 부분을 수정하면 나중에 합치는데 꽤 많은 에너지가
들어가기 때문이다.