Git과 GitHub

Git


Git(깃)은 버전관리 프로그램입니다.

버전관리란, 여러분이 생각하는 그 프로그램 v 1.0, v 1.1, v 2.0 버전을 관리한다는 것인데, 게임에서 저장하기 기능을 생각해 보면 이해가 쉽습니다.

예를 들어 어떠한 개발자가 프로그램을 v 1.0까지 제작했고, v 1.1을 개발 중에 있는데, 갑자기 프로그램이 실행되지 않습니다. 디버깅을 시도했지만 무슨 에러인지 잘 모르겠습니다! 이런 경우 v 1.0을 따로 저장해 놓지 않았다면 큰 낭패겠지요.. 이럴 때를 대비해 각각 프로그램을 버전별로 따로 저장해 두면 해결하기 쉽습니다.

Git는 좀 더 현명하고 깔끔한 방법을 지원합니다.

Git은 프로젝트 폴더안에 숨김폴더을 생성하여 이전 기록과 달라진 부분들을 기록하고, 되돌아 가고 싶은 경우 그 달라진 부분을 복원합니다. 폴더를 여러개 만들 필요도 없고, 코드의 저장과 불러오기가 명령어 한줄로 수행됩니다. 저장 하고 싶은 만큼 저장해도 실제 전체 코드를 저장하는 것이 아니기 때문에 용량이 크게 늘어나지도 않습니다.

또한 그룹 프로젝트의 경우 한 사람이 A라는 기능을 개발하고, 다른 사람이 B라는 기능을 개발하는 경우, branch(나무가지)라는 개념을 도입하여 각각 기능을 branch에서 개발 후 master branch로 합칠 수 있게 합니다.

Git을 이용한 프로젝트 workflow

첫째줄의 master branch는 메인이 되는 branch 입니다. 폴더에 git 세팅을 하면 기본적으로 주어집니다. 다른 두 개의 nice_feature, very_nice_feature는 추가된 branch로 master를 제외한 branch 이름은 사용자가 지정합니다.

nice_feature는 개발이 완료되서 master branch에 합쳐진것을 볼 수 있습니다.
very_nice_feature는 개발중으로 아직 master에 합쳐지지 않았습니다.

위의 빨간 점들은 사용자가 그때그때 저장을 한 부분으로 언제든지 저 점들의 상태로 되돌릴 수 있습니다. branch를 사용하는 이유는 나중에 완성된 프로그램에서 해당 branch부분만 때어낼 수도 있고, master를 과거 상태로 되돌리는 것 보다 branch에서 개발을 하다가 branch를 제거하는 것이 더 수훨하기 때문입니다.(아니면 그 branch는 지우지도 않고 그냥 무시해버려도 되구요) 

GitHub

Github(깃헙)은 git 데이터를 온라인에 저장해 주는 사이트(https://github.com)입니다.('깃헙'이라고 발음합니다.)

백업이 기본 기능이지만 단순히 저장만 하는 것이 아니라 다른 유저들과 함께 코드를 공유하고 온라인으로 하나의 프로그램을 같이 제작하는 것도 가능합니다.

많은 오픈소스 프로그램들이 github을 통해서 전세계 유저들에 의해 제작되고 있습니다.

댓글

J
Jongyo Park 2017.11.08
감사히 읽었습니다.
I
Ian H 2017.11.08
@Jongyo Park,
도움이 되었으면 좋겠습니다!
문지상 2018.04.30
깃과 깃헙이 똑같은 의미인줄 알았는데, 엄밀히 따지면 다른의미였네요. 감사합니다 잘 배워갑니다!
김강한 2018.09.04
감사히 읽었습니다.
I
Ian H 2018.09.04
@김강한,
감사합니다!
노트북 2019.01.05
프로그램 개발이 다 끝나고, git을 쓰나요 아니면, 개발 중에도 계속 git을 쓰나요?
I
Ian H 2019.01.07
@노트북,
개발 시작부터 끝까지 사용합니다.  가끔씩 오류를 고치려고 코드를 수정하였는데, 더 고장나 버리는 경우가 있잖아요? 이럴 때 다시 불러오는 용도로 사용됩니다.
여러명이서 개발을 하는 경우에는 개별 인원이 각각 자신이 맡은 부분의 코드를 작성하고, 팀장이 검토하여 하나로 모으는 용도, 나중에 문제가 발생할 경우 누구의 코드에서 문제가 발생하는지 확인하는 등의 용도로 사용됩니다.
댓글쓰기

이 글에 댓글을 다시려면 SNS 계정으로 로그인하세요. 자세히 알아보기

UP