Git
Git은 소스코드의 변경을 관리하기 위해 만들어진 툴으로 VCS(Version Control System)라고도 불린다. 말 그대로 코드의 버전을 관리하는 시스템이다.
Git은 코드를 관리하기 위해 다양한 기능을 제공한다. Commit이라 불리는 Snapshot을 생성하거나 Branch를 사용해 서로 다른 code version을 만들어낼 수 있고, checkout을 사용해 Branch간에 전환을 할 수 있다. 즉, Git으로 코드를 망가트리지 않고 특정 Code 스냅샷으로 이동하거나 할 수 있어 코드의 변경을 관리해야 될 때 주로 사용된다.
Github
Github는 Cloud 기반 Git 저장소를 제공하는 서비스이다. GitHub을 사용하면 로컬 Git을 Cloud에 보관할 수 있다. 이를 통해 서로 다른 기기에서 코드에 접근이 가능하고, 팀이 있다면 팀이 모두 하나의 Git Repository를 바라볼 수 있다.
추가적인 기능으로 Pull Request를 통해 협업을 원활하게 하거나 Issue를 통해 문제를 기록하거나 칸반 보드를 통해 간단한 스프린트를 할 수 있다.
이 외에도 GitHub Action이라 불리는 Automation CI/CD 서비스를 제공한다.
Github Action
Github이 제공하는 Workflow 자동화 서비스로, Repository와 연관된 모든 자동화 작업이 가능하다. CI/CD(테스트, 빌드, 배포) 자동화를 하거나 Code Review나 이슈 관리를 자동화 한다.
Github Action은 Github이 제공하는 많은 서비스 중 하나이다.