○ GitHub란?
GitHub는 git을 사용하는 프로젝트 관리를 지원해주는 웹 서비스 이다. (출처: 위키백과 - 깃허브)
GitHub: Where the world builds software
GitHub is where over 73 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and feat...
github.com
앞서 배운 깃 명령어들과 터미널을 활용하여 실제 자신이 진행하는 프로젝트들을 깃허브라는 웹 클라우드에 버전별로 저장하여 관리할 수 있다. 깃과 깃허브를 능숙하게 다룰수 있다면 개인 프로젝트에서나 실무에서도 큰 도움이 될 것이다.
○ GitHub 사용하기
Git을 다룰줄 안다면 github를 사용하는것은 그리 어렵지 않을 것이다. 깃허브를 사용하기 위해서는 다음 단계를 따른다.
- GitHub 회원가입
- GitHub repository 만들기 (원격 저장소: remote)
- 지역 저장소(local)와 원격 저장소(remote = github) 연결하기
- 프로젝트 관리하기
1. GitHub 회원가입
회원가입은 어렵지 않다. 본인이 주로 사용하는 이메일만 있으면 회원가입을 할 수 있다. 우선 깃허브 홈페이지에 들어가서 Sign up 버튼을 클릭하여 회원가입 절차를 진행해주면 된다. 이후 로그인할 때는 Sign in 버튼을 클릭해서 로그인을 하면 된다.
2. GitHub repository 만들기
회원가입을 완료했다면 깃허브에 자신만의 프로젝트를 만들 수 있다.
로그인을 하고 난 후 우측 홈페이지의 우측 상단에 보면 자신의 프로필 아이콘이 보일 것이다. 해당 아이콘을 클릭하면 사용자가 할 이용할 수 있는 기능들이 보여지는데 여기서 your repositories가 자신의 프로젝트 폴더를 관리를 위한 곳이다.
프로젝트 관리란으로 들어오면 새로운 repository를 만들 수 있다. 우측 상단의 초록색 박스에 쓰여진 New 버튼을 클릭하여 새로운 프로젝트를 만들 수 있다.
새 프로젝트 생성시 repository 명은 자신이 원하는 이름으로 설정하고 아래의 public과 private는 다른 사용자에게 해당 프로젝트의 공개 여부를 묻는 것인데 private는 유료인데다 우리는 아직 연습 단계이기에 public을 선택한다.(앞으로 개인 프로젝트 할때에도 public 사용을 권장) 그리고 그 아래의 Add a README file, Add a .gitignore, Choose a license 까지 3개의 항목이 있는데 이 중 우리가 사용할 것은 README 파일만 사용한다. README 파일은 자신이 진행하는 프로젝트의 설명 파일이라고 생각하면 된다.
이후 아래의 Create repository를 클릭하면 자신만의 깃허브 저장소가 하나 생긴것이다.
3. 지역 저장소(local)와 원격 저장소(remote = github) 연결하기
깃허브에 새로운 repository를 만들어 프로젝트를 관리할 준비를 맞추었다면 이제는 지역 저장소 즉, 자신의 컴퓨터(혹은 노트북)와 만들어진 원격 저장소(깃허브 repository)를 연결해주어야 한다.
우선 자신의 컴퓨터에 자신이 진행하는 프로젝트 폴더 하나를 만들고 해당 폴더를 git init을 통해 git을 사용하는 프로젝트임을 초기화한다. 이전 포스트를 확인하면 해당 과정을 이해할 수 있다.
다음으로는 터미널에 아래의 명령어를 입력해준다.
- git remote add origin 깃허브repository주소
- (ex, git remote add origin https://github.com/사용자명/repository명.git)
하나씩 뜯어 보자면 remote는 원격 저장소를 의미하며 add 즉, 새로운 원격 저장소를 추가 하겠다는 의미이며 origin은 새롭게 추가할 원격 저장소의 별명이라고 생각하면된다.(보통 주된 원격 저장소는 하나 이기에 origin을 많이 사용한다.) 그리고 그 뒤에 아까 만들었던 깃허브 repository주소를 넣어주면 되는데 해당 주소는 깃허브 홈페이지에서 자신이 만든 repository 페이지로 들어가면 초록색 상자안에 code라고 적힌 버튼이 보일 것이다. 해당 버튼을 클릭하면 나오는 HTTP주소를 복사해서 붙여넣으면 된다.(git repository는 반드시 주소 뒤에 .git이 붙게된다.)
위 과정을 거치면 지역 저장소(local)와 원격 저장소(remote)가 연결 된 것이다. 이제 연결된 지역 저장소에서 push 혹은 pull등의 기능을 사용할 수 있다.
4. 프로젝트 관리하기
이전 포스트에서 우리는 지역 저장소 내에서 자신의 프로젝트 파일들을 add 하고 commit 하는 방법을 배웠었다. 커밋을 함으로써 우리는 .git repository에 버전을 하나씩 만들어 나갔다. 이제는 자신이 기록해둔 커밋 내용들을 지역 저장소가 아닌 원격 저장소인 깃허브에 올려야한다. 그러기 위해서는 아래의 명령어가 필요하다.
- git push origin 브랜치명
push라는 명령어를 통해 우리는 지역 저장소에서 커밋한 버전들을 원격 저장소로 보낼 수 있다. 이때 위의 origin은 자신이 앞서 설정했던 원격 저장소의 별명을 의미하며 브랜치명은 현재 자신이 작업하고있는 지역 저장소의 브랜치명을 의미한다.(보통 master) 브랜치에 대해서는 다음 포스트에서 설명하도록 하겠다. 일단은 현재 자신의 작업하던 테이블을 그대로 원격 저장소로 보내준다고 생각하면된다.
이후 정상적으로 push가 되었다면 깃허브의 rpeository로 가서 확인해보면 자신이 작업했던 파일들이 깃허브에 올라가 저장되어 있는것을 확인할 수 있을 것이다.
+추가. 파일 가져오기
만일 자신이 개인 프로젝트를 진행하는데 작업하는 컴퓨터를 2대를 사용한다고 가정해보자. 예를 들어 밖에서는 노트북으로 작업을 하다가 작업을 완료하면 해당 파일을 위의 과정을 통해 깃허브에 저장하고 이제 집으로 돌아와서는 집에 있는 데스크탑으로 다시 해당 작업을 이어서 진행하고자 한다면 깃허브에 저장되어있는 마지막 작업물을 내 컴퓨터로 가져와야만 마지막 부분부터 자시 작업을 이어나갈 수 있을 것이다.
이 때, 사용 되는 명령어가 clone, pull, fetch등이 있다. 우선
- git clone 깃허브repository주소
우선 집에 있는 데스크 탑에서 진행할 프로젝트를 위한 폴더를 하나 만들고 그 폴더 안에서(터미널에서 cd명령어를 통해 들어감) 위 명령어를 입력해주면 깃허브에 저장되어 있던 프로젝트 파일과 .git 파일이 해당 폴더 안으로 들어올 것이다. 또한 따로 git remote add ..명령어를 통해 원격 저장소 별명과 주소를 지정해주지 않아도 자동으로 원격 저장소 별명은 origin으로 설정된다.
원격 저장소 연결이 잘 되었는지 확인하기 위해서는 아래의 명령어를 입력해보면 된다.
- git remote -v
이후 노트북과 데스크 탑을 계속 오가면서 작업을 진행한다면 매번 새로운 폴더를 만들어 clone을 해야한다는 것은 참으로 불편한 일이다. 그렇기에 한번 clone을 하고 나면 그 다음 부터는 pull 혹은 fetch명령어를 통해 깃허브에 올라온 최신 커밋 내용들을 가져오면된다.
- git fetch origin
- git pull origin
우선 pull과 fetch의 차이점은 merge를 하느냐 안하느냐에 있다. fetch는 그저 깃허브 저장소에 새롭게 올라온 데이터를 가져오기만 할 뿐이고 pull은 해당 데이터를 가져옴과 동시에 지역 저장소에 merge까지 함께 한다. 쉽게 말해 fetch는 데이터 불러오기 이며 pull은 fetch + merge 이다.
아마 개인 프로젝트를 진행한다면 pull을 자주 사용하게 될것이고, 협업 프로젝트나 규모가 있는 프로젝트를 진행하게 된다면 여러명의 사람들이 하나의 깃허브 repository를 가지고 작업물을 커밋해 나가기 때문에 작업 도중에도 새로운 커밋 내용을 내려받기 위해 fetch를 자주 사용하게 될 것이다.
이번 글에서는 깃을 사용해 깃허브와 연동하고 이를 사용하는 방법을 얘기해 보았다. 도중에 branch나 merge같이 아직 설명하지 않은 단어가 나와 이해하기가 조금은 힘들 수 있다고 생각한다. 이에 관련된 내용을 여기서 한번에 다루기엔 내용이 많기에 다음 포스트에서 함께 다뤄보도록 하겠다.
'Git & Github' 카테고리의 다른 글
| Git에 대하여 (0) | 2022.01.05 |
|---|
