나를 구원해줄 그 분은 바로 Git. 그리고 GitHub
🫷 들어가기 전
필자는 처음에 Git을 들었을 때 GitHub의 줄임말인 줄 알았다.ㅋ 이럴만큼 Git과 GitHub의 의미와 차이점을 모르고 있었다. 오늘 이 시간을 활용해서 Git과 GitHub에 대한 의미와 차이점을 내 방식대로 이해한 내용을 공유하기 위해서 글을 쓴다. (원래 이렇게 정리 글 써주면 머리 속에 오래 남거든)
☘️ Git
차이점을 설명하기 전에 기본이 되는 Git에 대해 알아보자. Git은 로컬 파일의 변경사항을 기록하고 관리하도록 돕는 버전 관리 시스템(VCS: Version Control System)이다. Git이 특별한 이유는 '브랜치' 때문이다. 사용자는 본인의 코드에 또 다른 독립적인 로컬 브랜치를 만들어 새로운 아이디어를 계속해서 시도해 볼 수 있고 이전 브랜치로 다시 복구, 삭재, 병합이 가능하다. 만약 코드를 잘못 작성했다고 하면 이전으로 넘어가서 작업을 진행할 수 있다.
하지만 Git에는 로컬 저장소를 활용하는 것이기 때문에 다른 개발자가 실시간으로 내가 작업한 내용을 보지 못하고 팀에서 같은 코드를 수정하겠다고하면 서로의 작업을 확인 할 수 없어 힘들다는 문제점? 불편한 점?이 있다.
🕹️ GitHub
Git의 문제점을 확실하게 보완한 것이 GitHub이다. GitHub는 Git을 클라우드 방식으로 구현한 버전 관리 시스템(VCS)이며 웹 서비스이다. 한 마디로 개인 로컬 서버 밖에서 Git 버전 프로젝트를 기록하고 관리하는 데이터 베이스(DB)이다. GitHub는 Git을 업그레이드한 것이라 Git에 대한 기본적인 기능들은 다 포함되어 있고 그 기능들을 확장한다. Git과 달리 GitHub는 클라우드 기반이며 인터넷과 권한이 모두 충족되면 개인의 Git 저장소에 원격으로 접근이 가능하다.
GitHub는 Git과 다르게 다른 개발자들이 실시간으로 코드 공유가 가능하다. 그렇기에 협력이 필요할 때 많이 사용한다.
요즘 개발 시장에서 Git과 GitHub을 안쓴다는 건 용납할 수 없는 일이다. 🤔
브랜치 복사와 생성, 코드 수정이 모두 가능하다. 하지만 프로젝트에 pull/push하지 않으면 다른 사용자 저장소 중심 디렉토리에는 반영되지 않는다.
정리하자면 Git은 로컬 버전 관리 시스템이고, GitHub는 클라우드 기반 Git 웹 서비스이다.
❓ Git과 GitHub를 왜 사용해야 할까?
프로젝트를 진행하면 버전 관리는 필수이다. 의뢰를 받아 프로젝트를 진행한다고 가정하면 코드 작성할 때, 유지 보수, 운영하는 과정에서 생성(추가), 수정, 삭재등 수 많은 변경사항이 발생한다. 이 때 Git을 이용하면 정말 편하다. Git은 협업할 때 가장 유용하다. 여러 개발자가 함께 하나의 프로젝트에서 같이 개발하는 상황이라면 코드 생성, 수정, 삭재, 복구 등 다양한 기능을 필요로 하는데 이 때 도움이 될만한 소프트웨어가 바로 Git이다. 이해가 되는가?
Github는 Git의 의해서 파생되었기 때문에 GitHub를 이용하기 위해서는 git을 알아야만 하고, 협업 시에는 Git 저장소에서 프로젝트의 각각의 폴더를 맡아 진행하기 때문에 git을 사용하기도 한다.
다음 포스팅 때는 Intellij에서 GitHub와 연동하는 방법과 기본적인 Git 명령어들을 알아보는 시간을 가지도록 하겠다.
부족한 부분이나 잘못된 부분이 있을 수 있습니다. 댓글로 남겨주시면 감사하겠습니다. 😊