이번 글에선 GitHub의 학습을 위한 첫 단계로 GitHub 가입 및 저장소 생성을 진행하겠습니다.
# GitHub 계정 생성하기(https://github.com/)
첫 번째로 해주실 것은 깃허브에 들어가셔서 계정을 만들어 주시는 것입니다.
깃허브 메인 페이지에서 우측 상단의 'Sign Up'을 눌러 계정 생성 페이지로 넘어가 주시기 바랍니다.
깃허브에서 사용하실 이름(Username), 그리고 계정 확인을 위한 E-mail address, 비밀 번호를 입력하시고
검증하기를 눌러주신 뒤 Select a plan을 눌러 주시면 됩니다.
Select plan을 통해서 페이지를 이동하시면, 깃허브를 사용하는 용도에 따라 선택하게 됩니다.
개인 혹은 팀으로 하실 것인지 결정하시고 무료로 사용할 것인지,
혹은 유료 결제를 통해 좀 더 많은 서비스를 사용할 것인지 자신의 필요에 따라 선택해주시면 되겠습니다.
저는 Individual/ Choose Free를 선택해서 진행하겠습니다.
Plan을 선택하신 다음에 나오는 페이지는
자신의 직업, 프로그래밍 경험, 깃허브 이용 목적, 그리고 자신의 관심사를 입력하는 페이지입니다.
상태 확인 페이지의 작성을 마치고 나서 이동한 페이지는 이메일 검증 페이지입니다.
GitHub에는 대부분 공개적으로 코드를 올려 공유하기 때문에 사용자를 확인할 필요가 있어 진행합니다.
가입할 때 적으셨던 이메일 계정에서 이메일을 확인하시면 Github에서 메일이 와있습니다.
이메일에 'Verify email address'를 눌러주시면 위와 같이 계정이 접속된 상태가 됩니다.
이제 깃허브를 사용할 수 있는 사용자가 되셨습니다.
축하드려요!
# Git 설치하기
깃을 사용하려면 당연히 깃을 설치해야 합니다.
깃 설치에 관한 것은
https://wonderbout.tistory.com/64
이분의 글을 참조하셔서 설치를 진행해주시면 좋을 것 같습니다.
저 또한 파일 경로를 제외한 다른 설정들은 기본 값으로 진행하였고,
코드에디터는 Visual Studio Code로 했습니다.
git 설치가 완료되었는지 확인을 하기 위해 'git bash' 또는 'cmd'를 실행시켜주세요.
'git bash' 또는 'cmd'는 앞으로 git을 이용하기 위해 자주 사용할 테니 친하게 지내시길 추천드립니다.
위의 화면은 'git bash'를 실행하여 확인한 모습입니다.
git --version
git
위의 두 코드 중 하나를 'git bash' 또는 'cmd' 창에 입력해보시면 됩니다.
git --version을 입력하면, 설치된 git 버전이 나오게 되는데 저는 2.23 버전을 설치했다고 나오고 있습니다.
git을 입력하면 깃의 기초 안내 사항들을 띄워 주는 것을 볼 수 있습니다.
'윈도우에서 깃 설치하기' 글의 마지막에 두 개의 코드가 나옵니다.
git config --global user.name "사용자 이름"
git config --global user.email "사용자 이메일 주소"
이는 '--global'이라는 부분에서 눈치채실 수 있으시겠지만 말씀드리자면 전역 설정입니다.
git을 사용하면서 프로젝트마다 원격 저장소는 달라지지만,
본인의 정보는 바뀌지 않으므로 전역 설정을 해주는 것입니다.
이는 깃 설치 후 PC에서 한 번만 진행하면 되는 작업입니다.
여러 계정은 사용할 수 없을까요?
물론 여러 계정을 사용할 수 있습니다.
이러한 경우에는 SSH키를 등록하여 사용하는 방법이 있다고 합니다.
추후에 개인 프로젝트 계정과 팀 프로젝트 진행에 쓰일 계정을 생성하는 과정을 공부하며 글을 작성해보도록 하겠습니다.
# 저장소 만들기
계정을 만들고 깃도 설치해봤으니 이번에 저장소(Repository)를 만들어 보겠습니다.
이전 글에서 저장소에는 원격 저장소와 로컬 저장소가 있다고 말씀드렸습니다.
GitHub에 생성하는 저장소는 '원격 저장소'입니다. 그리고 저희가 PC에서 이용할 것은 '로컬 저장소'입니다.
먼저 원격 저장소부터 만들어보겠습니다.
1. 원격 저장소 만들기
위의 가입 완료 후에 보이는 페이지에서 Create repository를 눌러줍니다.
Create Repository를 눌러서 페이지를 이동하시면 위와 같이
저장소의 이름과 설명 공개범위, README로 시작하기, 그리고 gitignore파일, license에 대한 설정을 할 수 있습니다.
저는 이름과 Public, README 시작만 눌러주어 진행하겠습니다.
설정이 완료되셨으면 맨 아래에 Create repository를 눌러줍니다.
저장소를 생성하시면 다음과 같이 설정 사항들을 반영하여 원격 저장소가 생성됩니다.
이름은 Hello_Git이 되었고, 설명란은 제가 비워두었기에 공란,
README로 시작한다고 했기에 마크다운 파일로 README가 생성되었음을 알 수 있습니다.
얼마든지 원하시는 데로 설명란과, README는 수정하시면 되겠습니다.
그리고 화면 상단 초록색 버튼 'Read the Guide'를 참고하시면 GitHub를 사용하는데 도움이 될 것입니다.
2. 로컬 저장소 만들기
로컬 저장소를 만드는 방법은 두 가지가 있습니다.
1 - 아직 버전 관리를 하지 않는 로컬 디렉터리 하나를 선택해서 Git 저장소를 적용하는 방법
2- 다른 어딘가에서 Git 저장소를 Clone 하는 방법
저는 일단 1 방법을 진행한 뒤 원격 저장소에 올리는 방법을 설명하고,
1 방법으로 만든 파일을 지우고 2 방법을 진행해보겠습니다.
2-1. 로컬 저장소 만들기(git init)
어느 방법이든 본인 상황에 맞게 사용하시면 됩니다.
프로젝트를 처음부터 진행하시는 것이라면 1 방법을,
이미 진행 중인 프로젝트가 원격 저장소에 있어 그것을 기반으로 작업하셔야 하는 경우는 2 방법을 사용하시면 됩니다.
1) PC에 디렉터리 생성
깃을 설치한 뒤 저는 로컬 저장소로 쓸 빈 디렉터리를 D드라이브에 하나 생성했습니다.
제 짧은 경험으로는 파일 경로에 한글이 들어간 경우,
수행할 수 없는 작업들이 상당수 있었습니다.
꼭 git을 이용하는 작업이 아니더라도 말이죠.
그래서 저는 항상 한글과 특수문자를 제외한
영어, 숫자, Underscore[: 밑줄 문자]( _ )를 이용한 파일 경로를 사용하고 있습니다.
디렉터리 경로를 살펴보면
"D:\SetOfPractices\Hello_Git"
입니다.
'git branch' 혹은 'cmd'를 실행시켜
위의 경로로 이동하겠습니다.
그 후에 다음을 입력해주세요
git init
위와 같이 'git init'을 진행하시면 '.git' 파일이 생기는 걸 볼 수 있습니다.
'. git'파일이 만들어 짐으로써 이제 해당 파일은 git 명령어를 사용할 수 있습니다.
그 말은 git을 이용한 프로젝트를 진행할 수 있게 되었다는 겁니다.
축하드려요!
2) 원격 저장소와 연결
우리의 로컬 저장소는 아직 원격 저장소와 연결이 되지 않아 파일을 추가하더라도 GitHub에 보이지 않는 상태입니다.
하지만 파일을 공유하고 공개하려면 GitHub에 보이도록 해야 할 것입니다.
그래서 이 로컬 저장소와 원격 저장소를 연결해보도록 하겠습니다.
GitHub의 Hello_Git 저장소로 이동하겠습니다.
저장소에 우측 중앙을 보시면 초록색으로 Clone or download가 있고,
그것을 누르면 URL이 하나 보이실 겁니다.
옆에 회색 버튼을 눌러 이 주소를 복사해주기 바랍니다.
그리곤 다음 코드를 입력해주세요. "your url"에 복사하신 주소를 붙여 넣기 하시면 됩니다.
git remote add origin {your url}
이 작업은 원격 저장소를 origin이란 이름으로 등록한 것입니다.
git remote를 입력하시면 origin이라고 뜨는 것도 확인하실 수 있습니다.
3) 원격 저장소의 최신 상태 가져오기
원격 저장소와 연결했으니 이번엔 원격 저장소의 최신 상태와 로컬 저장소의 상태를 맞춰 주도록 하겠습니다.
다음의 코드를 입력해주세요.
git pull origin master
origin으로부터 master(현재 branch)로 원격 저장소의 최신 상태를 가져왔습니다.
README.md가 생긴 걸 보실 수 있습니다.
지금 하는 과정은 결과적으로 2방 법인 clone과 다를 게 없습니다.
만약 원격 저장소를 생성하실 때 README.md 등을 만들지 않으셨다면 원격 저장소에 아무것도 없기에
pull을 해줄 필요 없이 이후에 나올 과정을 바로 진행하시면 덜 귀찮으셨을 겁니다.
저도 공부하는 과정이다 보니 이것저것 시행착오를 겪으며 진행하고 있습니다.
4) 로컬 저장소에 새로운 파일 만들기
그럼 이제 파일을 하나 만들어 원격 저장소에 저장해보도록 하겠습니다.
저는 텍스트 파일을 하나 만들었습니다.
git bash에서 다음을 입력해주세요.
git status
위와 같이 나오셨을 것이고, 아래엔 설명입니다.
On branch mster // 현재 저희는 master 브랜치에 있습니다.
No commits yet // 아직 commit이 발생하지 않았습니다.
// Commit을 해야 git의 관리를 받을 수 있습니다.
Untracked files: // Commit을 하지 않은 파일이 있음을 알리고 있습니다.
(use "git add <file>..." to include in what will be committed)
Hello.txt
nothing added to commit but untracked files present (use "git add" to track)
// commit을 진행하기 위해 git add를 하라고 요청합니다.
이제 add를 진행하고 다시 status를 확인해 보겠습니다.
add 뒤에 제가 ". "을 붙인 것은 해당 폴더에 있는 모든 파일에 대해서 실행하라고 한 것입니다.
특정 파일만을 add 하고 싶으시면,
add 뒤에 "Hello.txt"처럼 "파일명.확장자명"을 입력해주시면 됩니다.
이제 저희가 만든 텍스트 파일이 git의 관리를 받도록 commit을 시켜주겠습니다.
"git commit -m "First Commit""
을 입력해주세요.
-m 뒤에는 이번 commit의 설명을 적어 주시는 겁니다.
이제 저희가 만든 텍스트 파일은 로컬 저장소의 깃에 저장이 되었습니다.
마지막으로 push를 해서 원격 저장소에 올려보겠습니다.
5) 로컬에서 원격으로 파일 올리기
다음을 입력해주세요.
git push origin master
고생하셨습니다.
GitHub에 처음으로 파일을 작성해서 올렸습니다.
2-2. 로컬 저장소 만들기(git clone)
먼저 1 방법으로 만들어진 저장소를 지우고 시작하겠습니다.
저의 PC에 있는 Hello_Git 폴더를 삭제하고, "D:\SetOfPractices"로 돌아왔습니다.
현재 빈폴 더인 상태입니다.
1) 원격 저장소의 내용 복제하기
"D:\SetOfPractices" 이 경로에서 git bash를 실행하겠습니다.
git bash에 다음 코드를 입력합니다.
git clone https://github.com/{user_name}/Hello_Git.git
git clone 다음엔 본인의 원격 저장소 url을 써주시면 됩니다.
이 주소는 1 방법에서 했던 것과 마찬가지로 알 수 있습니다.
git clone을 진행했더니, GitHub에 있던 Hello_Git의 파일들과. git파일이 생성되었습니다.
git bash에서 경로를 Hello_Git으로 이동해서 다음 코드들을 실행해보갰습니다.
git remote
git status
remote를 진행하면 origin이라고 나오며, status는 commit 할 것이 없고, working tree도 깨끗하다 비어있다고 나오고 있습니다.
2) 새로운 파일 만들기
이제 새로운 파일을 만들어 다시 commit과 push를 진행해보겠습니다.
저는 두 번째 파일을 텍스트 파일로 만들었습니다.
그런 후 다음 코드들을 진행했습니다.
git add .
git commit -m "Second Commit"
git add를 진행 후 Commit을 할 수 있는 상태가 되었습니다.
git commit을 진행하여 로컬 저장소의 깃이 Good.txt를 관리할 수 있게 되었습니다.
3) 파일 원격 저장소에 올리기
이제 원격 저장소로 올려 보겠습니다.
git push origin master
이로써 로컬 저장소를 만드는 두 가지 방법을 모두 해보았습니다.
고생하셨습니다.
# 마무리
제가 1 방법을 진행하고 삭제한 뒤 2 방법을 진행해서 원격 저장소가 origin으로 설정된 것 아닌가 하는 의구심이 들어,
다른 원격 저장소를 clone 하여 진행해 봤습니다.
하지만 다른 저장소도 위의 방법과 동일한 결과들을 보여주었습니다.
따라서 clone을 한 경우 원격 저장소가 origin이라는 기본 값으로 설정된 것이라 생각합니다.
긴 글 읽느라 고생하셨습니다.
다음 글에선 브랜치를 사용하는 것에 대해 작성해보고자 합니다.
감사합니다.
# 참고자료
탁이 로그 - https://tagilog.tistory.com/377
원더 바웃 (윈도에서 git 설치하기) - https://wonderbout.tistory.com/64
InsightOut(깃허브 사용법) - https://homeproject.tistory.com/9
작성 록
2020/02/25
오늘 글을 작성하면서 정신없이 설치했던 깃 설치와, 깃허브 가입 그리고 저장소 생성의 진행을 천천히 살펴보았습니다.
역시 스스로 공부해야 머리에 남는다는 것을 다시 한번 느낍니다. 부족한 글이기에 공부하며 잘 못된 부분이 있으면 수정해 나가겠습니다.
감사합니다.
2020/02/26
어제에 이어 같은 글에 대해서 추가적으로 글을 작성해봤습니다.
'[Useful tech] > [GIT]' 카테고리의 다른 글
Git - 원하는 시점으로 프로젝트 되돌리기 (0) | 2020.05.07 |
---|---|
GitHub - 보안성 취약 해결 및 gitignore (0) | 2020.03.31 |
GitHub - Branch 생성 및 관리 (0) | 2020.03.03 |
GitHub - GitHub Desktop 설치 및 알아보기 (0) | 2020.02.27 |
Git 이란? (0) | 2020.02.24 |