Git은 뭐고, GitHub는 또 뭔가요?

Taeha Kim·2020년 7월 30일
1

Git과 GitHub

목록 보기
1/4
post-thumbnail

학부생 시절 Report를 쓰거나 PPT 발표를 해야할때, 특히 개인과제가 아닌 팀 과제를 해야할 경우,
발표자료를 완성하기까지 수 많은 난관들이 있음을 다들 한번쯤은 경험해 봐서 아실겁니다.


저는 특히 ppt를 만들때, 위와 같은 상황을 많이 겪었는데요;;

개발자도 이와 같은 경험을 많이 하게됩니다. 수 많은 개발자들이 모여서 프로젝트를 하게되면,
코드는 처음 보다 계속 길어지게 되고, 중간 중간 계속 수정하게 되고, 파일을 관리하기 쉽게 모듈별로 나누기도 하는데 그럴때마다 위의 상황처럼 그때 그때 수정하면서 파일명을 바꿔 진짜-진짜-최종-final.py 이렇게 할수는 없을겁니다.
이렇게 관리하게 되면, 중간에 코드를 수정하다가 수정전이 더 마음에 들어서 되돌리고 싶어도 되돌리기 힘들고, 팀원중 누군가가 실수로 코드를 지웠거나 파일을 삭제했을 경우라도 생기면 대참사가 일어나게 될것입니다.

그럼 어떻게 해야 프로젝트내의 파일들과 코드들을 관리하기 쉬울까요?
그것은 바로



Git(깃) 과 GitHub(깃허브)를 이용하는 겁니다.

나는 Git과 GitHub를 어디서 들어는 봤는데 정확하게 뭐가 뭔지 모르겠다.
괜찮습니다. 앞으로 차분히 알아가면서 사용해 보시면 됩니다.


블로그 글 하나로 Git 과 GitHub에 대해 전부 쓸 수는 없을거 같고, 앞으로 시리즈로 만들어서
글을 올리겠습니다.

Git은 뭐고...

무슨말인지 몰라도 괜찮습니다. 간단하게 말하면 깃은 파일들의 버전을 관리해주는 시스템이라고 생각하면 됩니다.
깃은 한번 설치하면 인터넷연결이 안되어 있어도 개인 컴퓨터에서 계속 사용하실 수 있습니다.
윈도우,맥,리눅스 전부 지원하며, 저는 리눅스 배포판중에서 우분투를 사용하기 때문에 앞으로 우분투를 기준으로 설명을 하겠습니다.

이제 본격적으로 깃을 사용하기위해서 깃을 설치해보겠습니다.
터미널을 여시고 다음과 같이 입력하여 깃을 설치합니다.

sudo apt install git

설치가 끝났으면, 터미널에 git을 입력해 봅니다.

이렇게 뜨면 정상적으로 컴퓨터에 깃이 설치된 겁니다.( 명령어들이 참 많기도 하죠?;; )

그후, git config로 깃을 사용할 사용자 정보를 입력해 줍니다.

git config --global user.name "사용자 이름"
git config --global user.email "사용자 email"

git init

원하시는 위치에 mkdir명령어로 디렉토리 하나를 만들고, 디렉토리 내부에서 다음과 같이 입력합니다.

git init


git init: 깃 초기화 명령어로 이 명령어를 써서 깃을 초기화해야 해당 디렉토리에 있는 파일들의 버전관리를 할 수 있게 해줍니다.

다음으로 넘어가지 전에 깃에서 버전관리를 하는 단계에 대해서 알아보겠습니다.

우선 작업트리(working tree)는 파일 수정,저장 등의 작업을 하는 디렉토리를 말합니다.
스테이지(stage)는 버전으로 만들 파일이 저장소로 가기전에 대기하는 장소이고 파일을 스테이지에 올렸다가 버전 관리할 파일을 저장소(repository)로 올려서 버전관리를 하게 됩니다.

앞으로 스테이지에 파일을 올리는것을 '스테이징'이라고 부르겠습니다.

git add

이제 vim으로 test.txt 파일 하나를 만들고 hello를 입력하고 저장하고 vim을 나갑니다.
vim을 나오셨으면 다시 터미널에 다음을 입력해 test.txt파일을 스테이징 해보겠습니다.

git add test.txt

git add: 깃에서 파일을 스테이지에 올릴때(스테이징) 사용하는 명령어 입니다.
위의 명령어로 test.txt 파일을 작업트리에서 스테이지로 올릴 수 있습니다.

git commit

git commit -m "남길 메세지"

git commit: 스테이지에 있는 파일을 최종적으로 저장소로 보내고 버전관리를 시작합니다.
-m은 없어도 상관없지만 저장소로 올린 파일이 무엇인지 설명해줄 말이 필요하기에 꼭 사용하는게 좋습니다.

git log

git log를 입력 하면,

커밋한 사용자의 이름과 이메일 주소,
커밋한 날짜,시간
커밋할때 남긴 메세지를 확인할 수 있습니다.

HEAD는 현재 브랜치를 가리치며 HEAD -> master는 master 브랜치를 가리키고 있다는 뜻입니다.
git log를 확인하시고 나올려면 키보드 q를 눌러 줍니다.

GitHub는 뭔가요?

  • GitHub는 분산 버전 관리 툴인 깃(Git)을 사용하는 프로젝트를 지원하는 웹호스팅 서비스이다.

마찬가지로 무슨말인지 몰라도 괜찮습니다.
간단하게 말하면, 깃은 개인 컴퓨터에 설치해서 파일들의 버전을 관리하는데
이것만으로는 백업협업을 하기에 부족합니다. 그래서 나온게 깃허브입니다.

깃허브를 이용하면 자신의 파일을 온라인에 업로드 할 수있고, 전 세계 수 많은 개발자들과 협업을
할 수 있게 해줍니다. 물론 자신의 서비스를 배포할 수도 있습니다.

깃 허브를 이용하려면 우선 깃허브에 가셔서 회원 가입을 하셔야 합니다.
여기서는 부터는 깃허브에 가셔서 회원가입을 하셨다는 것을 전제로 설명하겠습니다.

깃허브 사이트 우측상단 + 표시를 누르면 New repository가 보이는 데,
네.. 클릭합니다.

Repositiry name에 원하는 저장소 이름을 적어 넣습니다. 저는 GitHub_Test라고 하겠습니다.
Create repository를 눌러 주면, 다음과 같은 화면이 보이실 겁니다.

저 빨간색 테두리의 주소를 복사하고

아까 열었던 터미널에 다음과 같이 입력 합니다.

git remote add origin 복사한 주소 붙여넣기

이렇게 해서 로컬 저장소(사용자 컴퓨터)와 원격 저장소(깃허브)를
연결해 줄 수 있습니다.

로컬 저장소에서 원격 저장소로 파일 올리기(git push)

지역 저장소에서 원격 저장소로 파일 올리는 것을 푸쉬(push)라고 합니다.
푸쉬를 할려면 다음과 같이 입력합니다.

git push -u origin master

위의 명령어를 입력하면 아직은
Username과 Password를 입력하라고 뜰텐데, 입력해줍니다....
(나중에 안뜨게 하는 방법도 알아보겠습니다.)

이제 git log를 보시면 다음과 같이 HEAD -> master 옆에 origin/master가 새로 생긴것을 확인할 수 있습니다.

또한 깃허브에 가보시면 다음과 같이 지역 저장소에서 만든 파일이 커밋 메세지와 함께 원격 저장소에 올라간것을 알 수 있습니다.

profile
함께 성장하는 개발자가 되고 싶습니다.

0개의 댓글