본문 바로가기

윈도우 개발환경

개발 소스코드 관리; 3. GitHub 사용하기 - 1) 계정생성, Token 발행

개발 소스코드 관리

1. 형상관리, CI/CD

2. Git을 설치하고 덤으로 얻는 리눅스 환경

3. GitHub 사용하기 - 1) 계정생성, Token 발행

4. GitHub 사용하기 - 2) VSCode 연결, 해제

5. 예제로 본 Git 사용법 (기본 명령어) - 1

오늘은 내가 만드는 소스코드를 내 노트북이 아닌 인터넷상의 저장공간에 안전하게 보관해 보려고 한다. 물론 Dropbox를 사용해서 간단하게 sync 시켜도 안전한 서버에 저장되고 간단한 버전관리가 되자만, GitHub를 사용하면

 

  • git의 기능, 즉 버전관리, 작업 영역 (branch) 관리 등을 서버를 이용해서 할 수 있고
  • 마크다운 파일, REAME.md 파일을 이용해서 프로젝트 웹 페이지를 만들 수 있고
  • private 하게 만들어 외부에 노출되는 범위를 제한할 수 있고
  • public 하게 만들어 오픈소스 프로젝트로 변경할 수 있고
  • 내 프로젝트에 참여하는 여러 개발자와 작업을 공유하고
  • 서로 만든 코드를 리뷰하고 코멘트를 기록할 수 있고
  • Jenkins와 같은 CI/CD나 외부 서비스 제공자와 연결이 가능

한 등 장점이 있다. 그래서 많은 회사들이 GitHub을 사용하고 있고, git과 GitHub를 사용할 수 있는 개발자를 선호하고 있다.

1. GitHub 계정 생성

GitHub으로 가서 오른쪽 위에 있는 Sign Up버튼을 누르면 게정 생성을 할 수 있다. 요청하는 정보를 차례로 입력하고 마지막에 계정을 자동으로 생성하는 것을 방지하는 그림 퍼즐을 풀고 나면 GitHub 계정을 생성할 수 있다.

 

2. Personal Access Token 생성

2021년 8월 13일 이후부터는 password를 이용해서 GitHub에 소스코드를 올리는 것이 허용되지 않는다. 그래서 Personal Access Token을 먼저 만들어야 하는데, 이 방식도 계속 바뀌고 있어 현재 Girhub 페이지에서는 Beta로 지정된 Fine Grrained Token을 사용하라고 권고하고 있지만 GitHub의 설명처럼 아직 일부 기능은 이 방식으로 지원되지 않고 있을 뿐아니라 이전 방식이 더 쉽고 직관적이어서 나느 Tokens (Classic) 방법을 이용해서 만들려고 한다. 

  • 먼저 오른쪽 위 끝에 있는 Profile 아이콘을 누르고 그 아래 Settings을 선택한다.

 

  • 새로 나타난 화면의 왼쪽 메뉴 가장 아래쪽의 Developer settings을 선택한다.

  • 다시 화면이 바뀌면 왼쪽 메뉴 중 Tokens (Classic)을 선택한다.

  • 화면에서 토큰에 대한 간단한 기록, 만료기간, 권한 (Scopes)를 선택하고 생성한다.

나는 개인적으로 사용하기 때문에 모든 권한을 주었는데, 회사에서 사용하거나 팀원들에게 권한을 부여할 때에는 적절히 변경해서 사용하면 된다.

 

마지막에 있는 Generate token 버튼을 누르면, Token이 생성되고 화면에 표시된다. 이 토큰은 이 화면을 닫으면 더 이상 볼 수 없기 때문에 반드시 안전한 곳에 저장해야 한다. 이후에 token을 잃어 버리면 다시 생성 (Regenerate) 해야 한다.이제 git push와 같이 GitHub서버와 연동된 명령을 사용할 때 이 token을 비밀번호 대신 복사해서 넣으면 된다.

 

이제 내 노트북에서 GitHub에 저장할 수 있는 token을 만들었으니 새로운 프로젝트 공간 (Repository)를 만들어 보자.

3. 새로운 프로젝트 (Repository) 생성

Repository는 소스코드를 저장하는 프로젝트 공간 또는 폴더라고 생각하면 된다. 그래서 Repository를 생성한다는 것은 내 노트북에서는 프로젝트 폴더를 만드는 것과 같다. 먼저 GitHub에서 Repository를 만든다.

 

New Repository를 누르면 아래와 같이 각 항목의 선택하고 채우고 나면 repository가 생성된다.

 

1. Owner에는 gihub을 만들 때 사용한 user id가 자동으로 표시되고, 입력해야 하는 repository name은 이 사용자 계정에서는 꼭 하나만 존재하는 유일한 이름 어여야 한다.

2. 이 프로젝트를 설명하는 내용을 여기에 쓰면 이 프로젝트의 웹 화면으로 들어가면 오른쪽의 About 아래에 보여진다.

3. Public을 선택하면 이 공간을 모두가 볼 수 있도록 공개하고 Private을 선택하면 나, 또는 내가 허용한 사람들만 볼 수 있다. 나중에 settings에서 변경할 수 있다.

4. 선택하면 README.md파일을 만들어 준다. 이 마크다운 파일의 내용이 이 프로젝트를 열면 보이는 웹 화면의 내용이다.

5. .gitignore는 소스코드를 저장할 때 저장하지 않아야 할 목록을 지정하는 파일인데, 주로 compile 해서 생성되는 파일, 다운로드하면 되는 라이브러리, 에디터가 임시로 만드는 파일 등을 git명령을 줄 때 무시하도록 지정할 수 있는데, db정보, aws계정 같은 내용을 담고 있는 설정파일은 반드시 포함시켜 공유되는 일을 피해야 한다.

6. 오픈소스로 공개할 때 사용할 라이센스 정보를 지정한다. private일 때에는 의미가 없어 따로 지정하지 않았다.

7. default branch에 대한 정보인데, repository를 복제 (clone) 하면 기본적으로 사용되는 branch이다. 다시 말해 배포판의 이름이다. 윈도우 git을 설치할 때 default branch의 이름을 main으로 바꾼 이유가 이 때문이다. 이것또한 repository의 setting에서 바꿀 수 있다.

 

이렇게 입력하고 "Create Repository" 버튼을 누르면, 내 프로젝트를 위한 공간이 생성된다.

4. 내 노트북에도 프로젝트 (repository) 만들기

이제 GitHub에서 만든 프로젝트를 노트북으로 복제 (clone) 하면 프로그램 작업을 시작할 수 있다.

 

  • 프로젝트 (repository)의 URL을 복사한다.

화면의 Code 버튼을 누르면 Clone (복제) 할 수 있는 방법을 선택하고 URL을 복사할 수 있다. 지정하지 않으면 HTTP로 전송하는데 SSH 방식을 사용하기 위해서는 SSH key 또는 인증서 (certificate)를 먼저 등록해야 한다.

 

  • 내 노트북에 이 프로젝트를 복제할 위치를 만들고 이동한 다음, git clone 명령을 사용해서 복제한다.
git clone https://github.com/hydroponix/germinate.git

 

이때 password 대신 위에서 만든 token을 복사해서 넣으면 된다.

 

이제 프로그램 작업을 하면서 GitHub에 저장할 수 있게되었다.