본문 바로가기

IT 기본 용어

비개발자를 위한 IT 용어 설명(5): Github

 안녕하세요, 오늘은 깃헙이라는 용어에 대해서 설명해보려고 합니다. IT 회사에 다니시는 분들이라면 꼭 한 번은 들어봤을 법한 용어입니다. Github과 Git 등의 용어들에 대한 설명과 이런 툴 혹은 기능들이 왜 필요한지에 대해서 설명할 예정입니다.

 

Github란?

 Github란, 소프트웨어의 소스코드나 데이터를 저장하는 저장소입니다. 코드를 서버에 저장할 수 있는 시스템입니다. 

 

그렇다면 여기서 떠오르는 질문이 있는데요, 다른 cloud 시스템으로도 소스코드나 데이터를  저장할 수 도 있는데 왜 깃헙 이유명해졌을까요? 다른 서비스들과 다른 점이 무엇일까요?

 다른 서비스와 다른 점은 소스코드의 버전관리를 해준다는 것입니다. 소스코드의 버전 관리라... 사실 개발자가 아니면 쉽게 이해하기 어려운 부분입니다. 하나하나 설명해드리겠습니다.

 

오늘부터 앱 개발을 시작하게 됩니다. 오늘 A 라는 파일을 만들어서 Github에 업로드를 했습니다. 그리고 다음날 새로 만든 부분은 B라는 파일로 업로드를 했습니다. 그다음 날에 코드를 작성하는 도중에 파일에 문제가 생겨서 해당 작업들이 모두 날아갔다거나 이전 작업을 새로 불러와서 일하고 싶은 경우가 생길 수 있습니다. (개발을 하다 보면 생각보다 이런 일들이 엄청 많이 발생합니다) 이때, 우리는 어제까지 작성해둔 파일을 서버에서 불러와서 새롭게 그리고 편하게 작성할 수 있습니다. 

 

예시에서는 작업 단위를 하루라고 생각했지만 작업단위를 더 세부적으로 잘라서 저장할 수 있습니다. 기존 코드에서  새롭게 바뀌어 저장된 것은 새로운 버전으로 볼 수 있습니다. 그리고 그런 버전을 한 단위로 생각하며, 이전 버전을 취소할 수도 있고 추가할 수도 있습니다. 

 

그런데 왜 버전관리가 필요한가요?

 우선, 소스코드 관리하는데 편하기 때문입니다. 특정 날짜의 특정 시간까지 했던 작업을 다시 복구하고자 한다면, Github을 통해 쉽게 복구할 수 있습니다. 음.. 많은 분들이 겪어 보았을 법한 예로는, 우리가 발표 준비를 위해서 피피티를 만들기 시작했습니다. 자료조사한 것으로 여러 발표 흐름을 만들어보고자 비슷한 내용의 파일을 5개 이상 만들어 본 적이 있습니다. 그렇게 비슷한 내용의 파일을 하나하나 더 만들다 보면 어떤 피피티 파일이 최신 파일인지 헷갈릴 때가 있습니다. (여러분들은 그런 적이 없을 수 있지만, 저는 학교 다닐 때 자주 했던 경험이었습니다). 이럴 때 파일 명을 '피피티_오늘날짜_최신', '피피티_오늘날짜_진짜 최신' 등의 이름으로  짓다 보니 나중에는 정말 어떤 파일이 가장 최근에 만든 것인지 모르겠더라고요.. 이럴 때 버전 관리가 필요합니다!

 

 두번째 이유는 협업 때문에 필요합니다. 여러 사람이 같은 파일을 수정하다 보면 서로 수정한 것을 완료하는 시기도 다르고 언제 누가 수정했는지 기억하는 것이 쉽지 않습니다. 또한 어떤 사람이 어떤 코드를 수정해서 파일을 올렸다는 것도 알기 쉽습니다.  

 

Git이란?

마지막으로 Github와 Git이 비슷한 용어의 차이를 설명해보려고 합니다. 위에서 설명한 것과 같이 Github는 데이터를 저장하는 서버를 얘기합니다. Git은 버전 관리를 위해 소스를 추가하고, 서버에 전송하는 기능을 도와주는 시스템입니다. 자신의 컴퓨터(로컬)에서 소스코드 저장, 추가, 삭제, 수정 등의 버전 관리 기능을 해주는 것이 Git이고, 이것을 서버로 전송하면 서버 저장하는 것이 Github입니다. 

 

나중에 Git의 기본적인 코드들을 정리하는 포스트도 업로드할 예접입니다. 

읽어주셔서 감사합니다.

 

 

2020/09/09 - 비개발자를 위한 IT 용어 설명(4): API

 

비개발자를 위한 IT 용어 설명(4): API

 안녕하세요, 오늘은 API(Application Programming Interface) 즉, 응용 프로그래밍 인터페이스에 대해서 설명해보려고 합니다. API 라는 단어는 생각보다 우리주변에서 많이 사용하는 단어입니다. 물론 처�

social-developer.tistory.com