본문 바로가기
IT 트렌드 & 팁

Git, Github 사용 방법, 차이점 (깃/깃허브)

by 데싸루나 2023. 2. 21.

프로그래머, 또는 데이터 사이언티스트들이 필수적으로 사용하는 Git(깃)이 무엇인지, Github(깃허브)와의 차이점은 무엇인지 알아보고 Git(깃) 설치 방법부터, 깃(Git) 커맨드 사용방법과 깃허브(Github)와 싱크 맞추는 방법, 깃허브 클론(clone)하는 방법에 대해 상세하게 알아보겠습니다. 

 

Git and Github guide
Git and Github Guide

Git(깃) 이란?

Git(깃)은 2005년도에 만들어진 버전을 관리하는 버전 컨트롤 시스템(Version Control System, VCS)입니다. 코드변경을 트래킹하고, 누가 변경을 했는지 관리하고, 코딩 협업을 지원합니다.

 

 

Git이 하는일은? 

  • Repository 단위로 프로젝트를 관리하고
  • 프로젝트 Repository를 로컬(local)로 clone 하고
  • Staging과 Commit으로 코드 변경을 관리하고
  • Pull - project repository 최신상태를 local로 카피하고
  • Push - local에서 변경한 업데이트 내용을 project repository로 업데이트합니다. 

Git을 사용하는 이유? 

  • 개발자의 70% 이상이 Git을 사용하고 있습니다.
  • 장소에 구애받지 않고 여러 개발자들이 협력하며 프로젝트를 할 수 있습니다. 
  • 프로젝트의 전체 히스토리를 볼 수 있습니다.
  • 이전 버전으로 쉽게 되돌릴 수 있습니다. 

Github와의 차이점?

Github(깃허브)Cloud 기반 repository를 제공하는 회사입니다. Git을 사용하기 위한 툴을 만들며, 전 세계에서 가장 큰 소스 코드를 가진 웹사이트 커뮤니티입니다. 깃허브는 2018년부터 마이크로소프트가 소유하고 있습니다. 

 

Git(깃) 사용법 Step-by-Step

1. Git(깃) 설치 방법

우선 Git(깃)을 설치하려면 Git설치파일을 다운로드하는 사이트로 이동합니다. Downloads로 이동하여 본인이 사용하는 컴퓨터의 운영체제에 맞는 것을 선택하여 다운로드합니다. 설치를 완료하면 아래와 같이 시작프로그램에 Git폴더가 생성됩니다. 여기서 Git Bash를 실행하면 Git 커맨드창이 실행이 됩니다. 

Git 폴더
Git 폴더

아래 커맨드를 Git Bash를 켜서 입력해 보면 git의 버전을 확인하실 수 있습니다.

git --version

git bash 버젼 확인
git bash 버젼 확인

 

 

2. Github(깃허브) 계정 생성

Git(깃)을 오프라인(로컬) 용도로만 사용하실 거라면 깃허브에 꼭 계정 생성을 할 필요는 없지만, 보통은 로컬 레퍼지토리와 깃허브 레퍼지토리를 연결하여, 로컬에서 작업하고 깃허브에 업로드(Push)하는 식으로 다른 사람들과 협업을 하기도 하고, 내가 진행한 프로젝트들을 public으로 깃허브에 오픈함으로써 향후 job을 구할 때 포트폴리오로 활용할 수 있습니다. 실제로 이 깃허브에 진행한 프로젝트를 살펴보고 지원자의 능력치를 판단하는 회사들이 많습니다. 깃허브 사이트 가입하는 곳으로 가신 후 Username, Email 주소, 비밀번호를 입력하면 계정을 생성할 수 있습니다.

 

3. 로컬 Git Repository 생성

다음으로 해야 할 일은 로컬 컴퓨터에 깃 레퍼지토리(Git Repository)를 생성하는 것입니다. Git Bash를 실행하여 다음의 커맨드를 한 줄 한줄 실행하면 먼저 mkdir 커맨드로 myproject라는 서브 디렉터리를 만들고, cd 커맨드로 해당 디렉토리로 이동합니다. 디렉토리 명은 원하시는 이름으로 변경하시고 사용하시면 됩니다. 

mkdir myproject
cd myproject

그런 다음 Git(깃)을 다음 커맨드를 활용하여 Initialize 해주어야 합니다.

git init

그러면 다음과 같이 Initialized 됐다는 결과를 보실 수 있습니다.

git init 결과
git init 결과

여기까지 하셨다면, 깃 레퍼지토리(Git repository)를 정상적으로 생성한 것입니다!

 

 

4. Github(깃허브)에 레퍼지토리(Repository) 만들기

다음으로 할 일은 위에서 가입했던 깃허브로 이동하여 로그인한 다음에 우측 상단 + 표시를 누르고 New repository를 눌러 레퍼지토리를 만드는 것입니다. 이 과정도 역시 깃허브에 레퍼지토리를 만들어 관리하고 싶은 분들께만 해당하는 단계입니다. 

github-create new repository
github-create new repository

레퍼지토리 이름을 적어주시고, 설명(Description)에는 어떤 프로젝트를 관리할 건지 간단하게 적어주시면 됩니다. 이 칸은 필수로 기재해야 하는 사항은 아닙니다. 그리고 Public과 Private 중에서 선택해주셔야 하는데, Public 으로 만들면 누구나 접근해서 볼 수 있는 레퍼지토리가 되고, Private으로 만들면 소유자와 소유자가 권한을 준 사람만 접근할 수 있습니다. 성격에 따라 맞게 선택하시면 됩니다. 그리고 Create Repository 버튼을 눌러 생성하면 됩니다. 

Github-creating-repository
Github-creating-repository

레퍼지토리가 생성이 되면 아래와 같이 해당 레퍼지토리로 이동합니다. 

github-new repository
new repository

 

5. 깃(Git) 로컬 레퍼지토리와 깃허브(Github) 레퍼지토리 연결하기

이제 위에서 만든 깃허브(Github) 레퍼지토리와 로컬에 만든 레퍼지토리를 연결하는 작업을 하면 됩니다. 두 개를 연결하게 되면 로컬에서 작업해서 깃에 commit(커밋)하고 깃허브(Github)에 Push 함으로써 깃허브 레퍼지토리에 싱크를 맞출 수 있습니다. 아래의 커맨드에 깃허브 username과 repository name을 채워서 뒤에. git을 붙여주고 실행하면 해당 로컬 레퍼지토리와 깃허브 레퍼지토리가 연결되게 됩니다. 

git remote add origin https://github.com/[your-username]/[repository-name.git]

 

6. 깃(Git)에 파일 add 하고 Commit 하기 

새로운 파일을 로컬 레퍼지토리에 추가한 경우, 깃에 add를 해줘야 하는데요. 그래야 깃에서 버전관리를 시작하기 때문입니다. 먼저 add를 해주면 깃(Git)은 Stage라는 공간에 최종 커밋(Commit)될 준비가 된 파일들을 쌓아둡니다. 

git add [filename]

그리고 커밋할 파일들을 모두 add 한 이후, 아래와 같이 커밋 커맨드를 실행하면 최종 커밋이 되게 됩니다. 

git commit -m "남길 코멘트 적기"

7. 깃(Git)에서 파일 제거하기와 Commit(커밋) 실행 취소(Undo)하기

만약 커밋한 내용을 실행 취소(Undo)해야 할 경우에는 아래와 같이 revert 커맨드로 가능한데요. 뒤에 hash부분은 git log 커맨드를 통해 커밋 id를 확인하고 해당 id를 넣어주면 됩니다. 

git-log확인하기
git-log확인하기

git revert [hash]
git log

 

 

8. 깃허브(Github)에 업로드(Push)하기

이렇게 로컬에서 작업한 깃(Git) 레퍼지토리 파일들을 깃허브와 싱크를 맞추기 위해 업로드할 수 있는데요. 깃허브에 업로드하는 것을 공식 용어로 Push 한다고 이야기합니다. push라는 커맨드를 이용하기 때문입니다. 아래 커맨드를 이용하여 연결된 깃허브 레퍼지토리에 업데이트된 내용을 push 할 수 있습니다. 로그인이 되어있지 않으면 아래와 같이 로그인창이 뜨고 로그인을 마친 후 push가 완료됩니다. 

git push -u origin master

git push
git push
push가 완료된 모습
push가 완료된 모습

 

9. 깃허브(Github) 레퍼지토리를 로컬 레퍼지토리에 다운로드하기 (Pull) 

깃허브 레퍼지토리에서 로컬 레퍼지토리에 파일들을 내려 싱크 맞추는 것을 Pull이라고 표현합니다. 다음과 같이 pull커맨드를 이용하여 깃허브와 로컬 깃 레퍼지토리의 싱크를 맞출 수 있습니다. 

 

git pull origin master

 

10. 깃허브(Github)에서 특정 레퍼지토리(repository) 로컬에 복사(Clone) 하기

깃허브에는 정말 많은 public 레퍼지토리가 존재합니다. 해당 레퍼지토리를 개개인의 로컬에 복사할 수가 있는데요. 이를 Clone 한다고 표현합니다. 먼저 클론 하고자 하는 깃허브 페이지에서 code라고 쓰여있는 녹색 버튼 클릭하면, Clone이라고 써져 있고 해당 URL을 복사할 수 있습니다. 그런 다음에 아래 커맨드를 이용하여 특정 깃허브 레퍼지토리를 클론 할 수 있습니다.

git clone "cloneURL(끝에가 .git으로 끝남)"

github-clone
github-clone

그러면 아래와 같이 clone이 실행이 되고, 해당 디렉터리에 가보면 깃허브와 똑같은 파일들이 제대로 복제되었음을 확인할 수 있습니다. 

git clone
git clone
git clone result
git clone result

Summary

Git(깃)은 프로그래머들과 데이터 분석가, 데이터 사이언티스트들이 필수적으로 사용하는 툴입니다. 또한 Github(깃허브)는 세계 최대 소스 코드 커뮤니티입니다. 깃허브를 통해 많은 프로그래머들이 장소에 구애받지 않고 협업하며 프로그램을 발전시켜 나갑니다. Git(깃)은 IT업계에서는 가장 많이 사용되는 버전관리시스템이므로 이 분야에 관심이 있다면 사용방법에 대해 꼭 숙지해 두는 게 좋습니다. 이 포스팅에서는 Git(깃)과 Github(깃허브)의 가장 기본적인 설치방법과 사용방법에 대해 알아봤습니다. 향후 포스팅에서 좀 더 알아두면 도움이 되는 내용들에 대해 추가로 다뤄보도록 하겠습니다. 

댓글