Git vs GitHub

Git

  • Git is a distributed version control system for tracking changes in source code during software development.
  • It is designed for coordinating work among programmers, but it can be used to track changes in any set of files.
  • Its goals include speed, data integrity, and support for distributed, non-linear workflows.
  • Git은 소프트웨어 개발 중에 소스 코드의 변경 사항을 추적하기 위한 분산 버전 제어 시스템입니다. 
  • 프로그래머 간의 작업 조정을 위해 설계되었지만 모든 파일의 변경 사항을 추적하는 데 사용할 수 있습니다.
  • 그 목표에는 속도, 데이터 무결성 및 분산된 비선형 워크플로우에 대한 지원이 포함됩니다.

GitHub

  • GitHub is a web-based Git repository hosting service, which offers all of the distributed revision control and source code management (SCM) functionality of Git as well as adding its own features. 
  • GitHub는 웹 기반 Git 리포지토리 호스팅 서비스로, 자체 기능을 추가할 뿐만 아니라 Git의 모든 분산 개정 제어 및 소스 코드 관리(SCM) 기능을 제공합니다. 
Git GitHub
소프트웨어이다. 서비스이다.
시스템에 로컬로 설치된다. 웹에서 호스팅된다.
Linux에서 관리한다. Microsoft에서 관리한다.
소스 코드 히스토리를 관리하기 위한 버전관리 시스템 Git 리포지토리를 위한 호스팅 서비스
사용자 관리 기능이 없다. 사용자 관리 기능이 내장되어 있음

 

Git-flow vs Github-flow

Git-flow

  • Git-flow는 브랜치를 크게 4가지로 나누어 개발하는 전략입니다.
    • 메인 브랜치(Main branch)
    • 피처 브랜치(Feature branch) 또는 토픽 브랜치(Topic branch)
    • 릴리스 브랜치(Release branch)
    • 핫픽스 브랜치(Hotfix branch)
  • 가장 중심이 되는 브랜치는 masterdevelop 브랜치이며,  merge된 feature, release, hotfix 브랜치는 삭제하도록합니다.
  • Git-flow 전략은 주기적으로 배포를 해야하는 프로젝트에는 적합하지만, 브랜치가 많아 복잡하고 어떤 프로젝트에 따라서는 몇몇 브랜치가 애매한 포지션을 가질 수 있습니다.
  • Git Flow is usually more complicated than GitHub flow. It is used when your software has the concept of “release”. This flow works perfectly when you work in a team of one or more developers and they collaborate on the same feature.

 

Github-flow

 

  • Git-flow가 Github에서 사용하기에는 복잡하다고 나온 브랜칭 전략입니다.
  • 흐름이 단순한 만큼 role도 단순합니다. master 브랜치에 대한 role만 정확하다면 나머지 브랜치들에 대해서는 관여하지 않습니다.
  • 즉, hotfix 브랜치나 feature 브랜치를 구분하지 않습니다. 다만 우선순위가 다를 뿐입니다. pull request 기능을 사용하도록 권장합니다.
  • 이 브랜칭 전략은 수시로 배포가 일어나며, CI와 배포가 자동화되어있는 프로젝트에 유용합니다.
  • GitHub flow is really very simple to adapt as this flow doesn’t have releases because your deployment to production happens every day. There are two types of branches involved in this flow, the master branch, and the feature branch.

 


[ 참고 자료 ]

 

+ Recent posts