프로그래밍

Github 소개 및 사용법 / 첫 프로젝트 시작하기

개발독학 2020. 1. 13. 16:49

Github를 통한 첫 프로젝트 시작하기

 

Github는 좋은 오픈소스들이 많이 있어서 개발할 때 참고하기 좋은 사이트입니다.

그럼 우리가 Git을 쓴다면 어떤 기능을 쓰게 되는 걸지를 소개해 보겠습니다.

여러분이 만약 이제 개발을 시작하는 초급자라면, 앞으로 회사에서 일할 때 Git이나 SVN같은 협업 도구를 많이 사용하게 될 것입니다. SVN은 옛날에 많이 썼는데 요즘은 거의 git을 씁니다. 반드시 github로 시작할 필요는 없습니다. gitlab이나 yona같은 프로그램을 써서 자체 저장소를 만들어 사용할 수도 있습니다. gitlab의 장점은 자동 배포가 가능하다는 것입니다. 구글에 좀 더 찾아보면 내용은 나오지만 간단히 요약해 드리겠습니다. gitlab-client를 배포할 서버에 적용해두고 master 브랜치에 push가 일어날 때 소스를 업데이트하도록 설정해 놓으면 됩니다. 어려울 것 같지만 찾아보면서 하다보면 매우 쉽고 편리합니다. 하지만 이 경우에는 master 브랜치를 제외하고 develop 브랜치와 같은 개발 전용 브랜치를 만들어야 합니다. 보통 이렇게도 많이 씁니다. develop 브랜치 또는 개발자 개인별 브랜치에서 개발하다가 master 브랜치로 합치는 것이죠. 이렇게 하면 버전 관리가 편하고, 여럿이 하기 때문에 충돌이 일어날 때 merge하기가 비교적 수월합니다.

 

우선 github에서 새 프로젝트를 만들어 봅니다.

새 프로젝트 생성

새로 만든 프로젝트에 들어가서 "Clone or download" 버튼을 클릭하고 Clone with HTTPS 아래에 있는 URL을 복사합니다.

 

만약 파이썬을 쓰는 경우라면 PyCharm을 설치한 후 [VCS]-[Checkout from Version Control]-[Git] 메뉴를 클릭한 뒤 복사한 URL을 붙여넣기 하면 됩니다.

 

파이참을 쓰는 경우 아래 파일 내용으로 .gitignore 파일을 만들어 놓으면 불필요한 프로젝트 파일들이 업로드 되는 걸 방지할 수 있습니다. 구글에 pycharm gitignore라고 검색하면 github 주소가 나옵니다.

그럼 Git에서 쓸 수 있는 기능을 알아보겠습니다.

Git은 여러 명이 작업할 때나 혼자 작업할 때나 다 유용합니다.

파일의 변경 이력을 확인할 수 있고, 업데이트가 된 경우 최신 파일들을 바로 받아서 반영할 수 있어서 편리합니다.

 

주요 기능은 Commit, Pull, Push, Merge가 있습니다.

 

1. Commit

Commit 기능은 자신이 수정한 사항을 로컬 환경에 저장하는 거라고 보면 됩니다.

 

2. Push, Pull

Commit 이 끝난 뒤에 실제 Github 서버에 보내서 다른 사람들도 내가 수정한 파일을 확인할 수 있도록 해야됩니다.이렇게 서버로 보내는 게 Push 기능인데, 실제 순서는 Commit -> Pull -> Push 순으로 하면됩니다. Pull은 서버의 최신 소스를 읽어서 로컬 환경에 반영하는 기능입니다. 최신 변경사항을 반영하지 않고 Push를 하게 되면 충돌이 나서 Pull을 먼저 한 뒤에 Push를 하면 됩니다.

 

3. Merge

내가 Commit한 파일과 같이 작업하는 다른 사람이 Commit한 파일이 동일한 경우 충돌이 일어나서 합쳐야 합니다. 이렇게 합치는 과정을 Merge라고 합니다. 두 사람이 파일에서 수정한 부분이 다른 경우 Merge 버튼 클릭 시 자동으로 되는 경우도 있지만 비슷한 경우 직접 눈으로 보고 합쳐야 하는 경우도 있습니다.

 

그럼 Git을 안 쓸 경우는 어떤 일이 일어날까요?(여기서는 Git으로 했지만, 다른 협업 도구도 마찬가지입니다.)

과거에 FTP(File Transfer Protocol)를 쓴 경우는 파일을 수정하고 나면 하나씩 서버에 반영했습니다.

만약 코딩을 하는 개발자 PC에서 코드를 지우고, 서버에서도 코드를 지우게 되면 그 코드는 다시 찾을 수가 없습니다.

그리고 지난달에 뭘 바꿨던 건지 찾을 수도 없고, 여러 명이 작업하는 경우 파일이 겹치면 내가 작업한 게 반영되지 않은 걸 나중이 돼서야 아는 경우도 있습니다. 이런 이슈들이 많이 일어날 수 있어서 Git을 사용하는 게 안전합니다.

 


개발독학의 추천 포스트

2020.01.08 - [분류 전체보기] - 개발자를 위한 구글링하는 방법 및 구글링 팁 총정리

2021.05.13 - [분류 전체보기] - 네이버/구글 이미지 자동 크롤링 프로그램 사용법 정리

2021.05.01 - [분류 전체보기] - 프로그래밍 무료 강의 플랫폼 정리 및 플랫폼 비교