Git & GitHub 의 기본 개념

    * 이 글은 '제주코딩베이스캠프(링크)' 의 알잘딱깔센 GitHub 무료 강좌(링크)를 참고해 작성했습니다.

    소개

    - Git: 버전 관리 프로그램
    - GitHub: Git 을 관리해주는 웹 호스팅 서비스
                   (버전관리, 소스코드 공류, 분산 버전 제어 등이 가능한 원격 저장소)

    * Git 기반의 웹 서비스는 GitHub 외에도 GitLab 등 다양한 SW 가 있다

     

    Git

     

    Git

     

    git-scm.com

    • 리누스 토르발즈 개발 (리누스 토르발즈는 리눅스 커널도 개발했다)
    • Open Source Version Control System (VCS, 오픈 소스 버전관리 시스템)
    • Local 에서 Version 관리
    • SW 개발 및 Source code 관리에 사용

    Git 은 본인의 코드와 수정 내역을 기록해 관리를 돕는 VCS 이며, Local 에서 Project 기록을 스스로 관리할 수 있게 해준다
    Git 을 통해 Branch 를 생성하고 이전 Branch 로 복구, 삭제, 병합이 가능하다
    하지만 Local 저장소를 사용하기 때문에 다른 개발자와 실시간 작업공유는 어렵다

     

    GitHub

     

    GitHub: Where the world builds software

    GitHub is where over 83 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and feat...

    github.com

    • 2008년 톰 프레스턴워너, 크리스 완스트래스, 피제이 하이엣 이 공동 설립한 회사 (2018년 MS 가 인수)
    • Git Repository (저장소) 를 위한 웹 기반 호스팅 서비스
    • 클라우드 서버를 사용해 Local 에서 버전 관리한 소스 코드를 업도르하여 공유 가능
    • 제공 기능
      • 분산 버전 제어
      • 엑세스 제어
      • 소스 코드 관리
      • 버그 추적
      • 기능 요청 및 작업관리

    GitHub 는 Git 저장소를 관리하는 클라우드 기반 호스팅 서비스이다
    다른 사람과 소스 코드 공유가 가능하며, git 의 기본적인 기능을 확장해 제공한다
    또한 클라우드 서버에 소스를 올리기 때문에 한 Project 에 여러 명의 사람이 참여하여 버전 제어 및 공동 작업이 가능하다
    * 코드의 피드백과 리뷰에도 활용한다




    Git 과 GitHub

    출처: 위니브

    Git 과 GitHub 는 무료 Open Source 이면서 우리가 코드로 협업하는데 필요한 사항에 대해 솔류션을 제공한다

    Git 은 버전 관리 도구 중 가장 선호도가 높은 프로그램이다
    GitHub 를 사용하기 위해서는 Git 이라는 프로그램을 이해해야 한다

    Git 은 Local (내 컴퓨터)와 원격 저장소 (서버 컴퓨터)로 나뉜다
    내 컴퓨터에서 작성한 프로젝트를 원격 저장소에서 바로 가져올 수 있다
    이 때, 코드 뿐만 아니라 코드의 변경 내역까지 모두 가져올 수 있기 때문에 Git 이 버전 관리 도구라 불린다

    이렇듯 Git 에서 원격 저장소는 코드의 원본이나 변경 내역을 저장하는 매우 중요한 역할을 한다
    이런 기능의 툴을 형상 관리 툴 (Configuration Management Tool) 이라 한다
    Git, SVN, CVS 등의 툴이 있고 Git 을 가장 많이 사용한다

    GitHub 는 Git 을 클라우드 환경에서 사용할 수 있게 서비스를 제공한다
    또한 GitHub 는 단순 저장소 역할을 넘어 대다수의 개발자들이 참여하는 커뮤니케이션이기도 하다
    내 Project 는 물론 다른 개발자들의 Project 를 볼 수 있으며, Issue 를 제기하거나 Projcet 에 참여할 수도 있다.
    (* 이를 Open Source 에 Contribution 한다고 표현한다)
    또한 Code Editor 기능도 제공하며 블로그도 GitHub 를 사용해 만달 수 있다


    참고

    알잘딱깔센 GitHub 무료 강좌(링크)

    깃과 깃허브의 차이

    버전 관리

    버전 넘버링

    댓글

    Designed by JB FACTORY