본문 바로가기
개발/Github

Git,Github 개념 - 깃헙 사용법

by 자유로운 코끼리 2020. 4. 28.
728x90

오늘은 git과 github에 대해 가볍게 이야기해보려 합니다.

 

Git?

깃은 소스코드를 효과적으로 관리하기 위해 개발된 분산형 버전 관리 시스템을 말합니다.

여기서 버전이란 프로그램의 변경사항을 말하는데요.

우리가 휴대폰을 예로 생각해보면,

소프트웨어 업데이트를 하면서 버전이 바뀌잖아요?

이런 버전을 관리해주는 것을 git이라 생각하시면 됩니다.

 

즉 우리는 git을 통해 같은 파일에 대해 각기 다른 버전,

코드의 변경사항들을 저장하여 보관할 수 있습니다.

 

이외에도 git은 다양한 역할을 하는데요.

크게 3가지로 보시면 됩니다.

 1. 버전 관리(코드를 저장)

 2. 백업(이전 상태로 돌려주기)

  버전을 관리하기 때문에

  내가 원하는 이전의 시점으로 돌아갈 수 있죠?

 

  이전으로 돌아가야 할 때가 있냐고요?

  예를 들어 한 회사가 버전을 업로드한 후, 

  현재 코드에 문제점을 발견하게 되었는데

  이전 정보가 없으면 

  오류를 고칠 때까지 문제가 있는 서비스를 사용자들이 계속 사용하게 되겠죠?

  이렇듯 이전 버전으로 돌아가고 싶을 때 쉽게 돌아가는 것을  git이 해줍니다.

 

 3. 협업을 할 수 있게 도와줍니다.

  예를 들어 두 명이 함께 코드를 작업하고 있을 때 A와  B가 동시에 같은 파일을 수정한 경우,

  git은 내용이 충돌된다고 경고 메시지를 줍니다. 

 

 

 

 

Github?

Github는 git을 이용한 오픈소스 저장소입니다. 

https://github.com/

 

Build software better, together

GitHub is where people build software. More than 40 million people use GitHub to discover, fork, and contribute to over 100 million projects.

github.com

오픈소스는 저작자의 권리를 인정하되 그 사람의 코드를 이용할 수 있게 해주는 것을 의미합니다.

즉 홈페이지에 올라온 모든 코드를 우리도 사용할 수 있는 거죠:).

나아가 웹 호스팅도 도와주는데요.

 

기능을 정리하자면 이렇습니다.

1. 코드 저장 기능

2. 이전의 코드로 돌아가는 Undo기능

3. 협업 기능

 + 웹 호스팅 기능


오늘은 그중 코드 저장 기능에 대해 다루어보겠습니다.

 

저장소(Repository)

Git은 원격 저장소와 로컬 저장소 두 종류의 저장소를 제공합니다

 원격 저장소(Remote Repository)는 깃헙 홈페이지에서 만드는 저장소로

 파일이 원격 저장소 전용 서버에서 관리되며 여러 사람이 함께 공유하게 됩니다.

 

 로컬 저장소(Local Repository)는 내 PC에 파일이 저장되는 개인 전용 저장소입니다.

이 두 가지 개념을 머릿속에 살짝 놓은 다음,

앞으로 이야기를 따라와 주세요.

 

자 우리는 지금부터 에디터에 있던 우리 코드를 깃헙의 원격 저장소에 올려놓을 건데요.

이를 위해 터미널에서 명령을 쳐

우선 로컬 저장소를 만든 후, 원격  저장소로 보내주어야 합니다.

이때 쓰이는 git 명령어들을 실습과 함께 진행해보도록 하겠습니다.

우선 로컬 저장소부터 만들어보겠습니다.

 

Git 명령어

각자 원격 저장소에 올릴 프로그램을 에디터로 열어 터미널에 들어가 주세요.

 

git init

 git 저장소를 초기화하는 명령어로 프로젝트 초기에 한 번만 사용하는 명령어입니다.

그 후 폴더에 가시면. git이라는 폴더가 형성되었다는 것을 볼 수 있습니다.

만약 보이지 않는다면 숨겨진 파일 보기를 통해 확인해주세요.

자 이때 우리에게는 3가지 공간이 있다고 생각하시면 됩니다.

git init을 하면서 작업공간이 생기고, 파일이 작업공간에 있는 상황인 거죠.

 

git status

저장소의 상태를 체크하며 현재 프로젝트 변경사항 확인하는 명령어입니다.

git add .

모든 파일을 work directory에서 staging area로 올리는 명령어입니다. 

staging area는 repository에 가기 전에 올라가는 파일들을 확인하는 곳이라고 생각하시면 됩니다.

git commit -m <설명>

내 로컬 저장소에 저장하는 세이브 포인트입니다.

 

이때 세이브포인트에 대한 내용이 어떤 내용인지 메시지로 남길 수 있는데요.

어떤 변경사항들이 저장되었는지 잘 기록해놓으면 원하는 순간으로 손쉽게 돌아갈 수 있겠죠?

git remote   git push

자 아까 말했듯,

로컬 저장소에는 잘 만들어졌으니,

원격 저장소를 만들어 올리면 됩니다.

 

우선 원격 저장소를 만들어 보겠습니다.

 

깃헙에 로그인을 하신 다음,

왼쪽 상단에 보이는  repositories에서 new를 눌러주세요.

 

원격저장소명을 쓰면 됩니다.

이때 public, private버튼이 있는데

public을 눌러주시면 됩니다.

오픈소스 저장소이기 때문인데,

나만 보고 싶다고 private으로 바꾸면 돈이 들어요:~.

 

이렇게 한 후 create repository를 누르면 원격 저장소가 만들어졌습니다!

자, 이제 원격 저장소도 만들어졌으니

로컬 저장소에 있는 걸 원격 저장소에 올리기만 하면 되겠죠?

 

그 명령어가

네모 박스에 있는 부분입니다:).

 

자 이제 다시 홈페이지에 가보면

 

짠!!

파일들이 원격 저장소(github)에 잘 올라가 있다는 걸 확인하실 수 있어요!:>

 

댓글