반응형

GitHub 이해. 사용법.

협업을 하고 여러개의 디바이스에서 작업을 하는 일이 늘어나면서 자료 공유가 필요할 때 깃허브(Github) 라는 것을 자주 접하게 된다.
대체 깃허브가 뭘까?
클라우드 일종인것 같다는 막연한 느낌은 드는데...
자료 공유를 위해, 또 누군가와 협업을 하고자 할때, 나 혼자라도 데스크탑, 노트북, 태블릿, 휴대폰 같이 여러가지 디바이스를 사용하는 사람이 여러개 기기에서 같은 자료를 공유하고 싶다면 사용하는게 클라우드인데.
깃허브를 사용하면 자료공유가 편해지는걸까?

궁금한 것이 많아.
Github 를 사용하려면 어디에서 찾아봐야 하지? ...이건 쉽다. 깃허브 사이트로 가면 된다. https://github.com
시작하려면 뭘 해야지? .... 가입하고, 로그인하고, 권한을 얻고, 자료를 공유할 공간을 만들고..등등 일단 가입과 로그인까지 하면 그다음은 어찌 되겠지. 음..절차와 방법은 학습이 좀 필요해!
어떻게 사용하는거지? .... 깃허브를 활용해서 내가 가진 자료를 공유하는 방법. 음..이것도 학습이 많이 필요해!

시작하기 위한 첫걸음으로 깃허브(Github) 라는게 도데체 뭔지 이해부터 해야 뭐든 할 수 있을것 같아. 
Git 이라는 용어가 있는데 좀 생소해서 찾아봤어.

더보기

위키에 나온 내용으로는 리누스 토르발스가 개발한 분산형 버전 관리 시스템(VCS)이다. 라네.

오픈소스계의 영원한 아이돌 리누스 토르발스는 리눅스 커널을 관리하는 기존 툴이 엉망인 것에 너무 빡친 바람에 Git이라는 소스관리 툴을 만든다. 리누스는 하도 빡친 나머지, 단 2주만에 완성하는 기염을 토했다.

Git은 매우 빠른 속도와 분산형 저장소 지원이 특징이다. 방대한 Linux 커널 소스 코드를 생각해 보면, 속도 문제는 매우 중요하다. 오픈 소스 개발의 특성상 여럿이 달려들어 자기 맘에 드는 걸 하기도 하며, 또한 뭘 하나 잘못 붙였다 이상한 걸 건드려 망하기 쉬운데, Git는 이런 환경의 특성에 맞게끔 제작되었다.

Git 자체는 오픈 소스이며 저장소는 git.kernel.org이다[1]. git clone으로 프로젝트를 클론한 후 빌드해볼 수 있으며, 전체 저장소를 클론하고 싶지 않다면 kernel.org에서 원하는 버전의 tar파일을 찾아서 다운로드 할 수 있다. GitHub에 git/git이라는 미러 저장소도 있으며, 정확히 동일한 내용을 가지고 있다.

 

내용에서 보면 여기에 Github 가 등장한다.
위의 글을 보면 Github 가 뭔지 대략 정체가 짐작이 간다. 코딩을 하는데 필요한 것이라는 느낌적 느낌. 저장소 개념인데 단순 저장소는 아니라는 느낌적인 느낌이 든다.
대략적이고 느낌적인건 그만하고 좀 정확히 알아보자.
Github 홈페이지에 나와있는 내용을 인용해 본다.

깃허브 (Github) 가 뭐야?

깃을 왜 사용하죠?

  • 빠른 협업환경 조성
  • 누가, 언제, 무엇을, 왜, 어떻게 수정했는지 코드리뷰가 가능.
  • 이슈트래커 (Issue Tracker) 지원.
  • 깃헙 (GitHub)을 이용하여 자신의 git을 쉽게 공유 가능.
  • 지속적인 통합 (Continuous Integration) 지원.
  • Visual Studio, Jetbrains IntelliJ, Android Studio 등 대부분의 IDE에서 git 연동 제공.
  • 요약: 협업을 위해서, 개발에서 사용, 두명 이상이 똑똑하게 소스를 공유하고 개발한 소스들을 합치세요!

도대체 깃헙(GitHub)이 뭐야!?

  • 디자이너에게는 Dribbble, 데이터사이언티스트에게는 Kaggle이 있듯이 개발자에게는 깃헙 (Github)이 있습니다.
  • 여러분이 퇴근길에 페이스북으로 글을 둘러보며 좋아요 하듯이 개발자들은 깃헙으로 스타(star)를 날립니다.
더보기

참고로 드리블(dribbble)이란

디자인 소셜 네트워킹 및 포트폴리오 공유 사이트이다.
비핸스, 국내의 노트폴리오 (개인적으로는 핀터레스트)와 함께 디자인 사이트 삼대장으로 불리기도 한다.
국내에서는 아직까지 활성화가 되지 않았지만, 해외에서는 채용 플랫폼으로서도 중요한 역할을 하고 있다.
포트폴리오 자료를 공유해 놓은 곳이니 이것 역시 자료공유 플랫폼의 일종임을 알 수 있다.

또 참고로 Kaggle 이란 
데이터 분석 경진 대회를 주최하는 플랫폼이다.
파이썬 코딩툴로 유명한 쥬피터노트북(Jupyter notebook) 이 웹으로 지원되니 따로 앱을 설치할 필요없이 코딩개발이 가능하다.
경진대회 코딩자료들이 오픈소스로 개방되어 있어서 유용한 소스를 얻고, 학습할 수 있는 곳이다. 
취지가 이러니 이곳도 자료공유에 활용될 수 있다.
https://youtu.be/TNzDMOg_zsw

Github 뿐 아니라 드리블, Kaggle 같은 것들도 성격은 약간씩 달라도 자료공유 플랫폼이란 공통점이 있으므로 각자 가지고 있는 자료의 성격과 목적에 따라 적당한 플랫폼을 선택해 이용하는게 좋겠다....는 말은 알아야 할것들이 더 많다는 말이자나!

다른 플랫폼 학습은 나중에 하고 지금은 알아보려는 Github 에만 집중하자.

  • 진짜 퇴근길에 깃헙 들어가는 개발자가 있다면
  • 깃헙(Github)랑 깃(Git)은 다른 것입니다. 깃헙이 깃을 기반으로 온라인으로 서비스하는 형태입니다.
  • 쉽게 생각해서 Microsoft® Office를 Office 365로 서비스하는 것과 비슷하다 생각해주세요.

깃이 어떤 역할을 하는건가요?

  • 소스 병합 (merge, rebase)
  • 소스 리비전 관리 (reset, commit, branch)
  • 소스 릴리즈 (push)
  • 소스 태깅 (tag)
  • 소스 변경사항 검토 (diff, log)

그래서 어떻게 쓰는건데? ...to be continued.....

 

반응형

+ Recent posts