🚨🚨 깃 과 깃허브는 다르다!!!!🚨🚨
👩🏻💻 Git과 GitHub은 소스 코드 관리와 협업을 위한 도구입니다.
이 둘의 개념을 쉽게 설명하자면 아래글을 보자!!
시간이 없다면?? 맨아래 요약만 보셔도 됩니당!!!!
📌 Git
버전 관리 시스템
- Git은 로컬에서 소스 코드의 변경 사항을 추적하고 관리하는 도구입니다. 소프트웨어 개발에서 코드의 버전을 관리하고, 팀원 간의 협업을 쉽게 합니다.
로컬 작업
- Git은 기본적으로 사용자의 컴퓨터에서 작동합니다. 코드를 변경하고 커밋(commit)하면, 변경 내역이 저장되어 언제든지 과거의 버전으로 돌아갈 수 있습니다.
💡 Git의 주요 개념
-
저장소(Repository)
- 프로젝트의 코드와 변경 이력을 저장하는 곳입니다.
-
커밋(Commit)
-코드의 변경 사항을 저장하는 스냅샷입니다.
-
브랜치(Branch)
-독립적으로 작업을 진행할 수 있는 별도의 작업 공간입니다. 예를 들어, 새로운 기능을 개발하기 위해 브랜치를 만들 수 있습니다.
-
병합(Merge)
-브랜치에서 작업한 내용을 메인 브랜치에 합치는 작업입니다.
📌 GitHub
클라우드 기반 플랫폼
- GitHub는 Git 저장소를 호스팅하는 웹 기반 서비스입니다. GitHub는 코드를 온라인에서 관리하고, 팀원들과 협업할 수 있는 다양한 기능을 제공합니다.
협업 도구
- GitHub는 이슈 트래킹, 코드 리뷰, 프로젝트 관리 도구 등을 제공하여 개발자들이 효율적으로 협업할 수 있도록 돕습니다.
💡 GitHub의 주요 기능
- 원격 저장소(Remote Repository)
-로컬 저장소의 변경 사항을 업로드하여 다른 사람들과 공유할 수 있습니다.
- 포크(Fork)
-다른 사람의 프로젝트를 복사하여 자신만의 저장소로 만들 수 있습니다.
- 풀 리퀘스트(Pull Request)
-변경 사항을 원본 저장소에 병합해 달라고 요청하는 기능입니다.
- 이슈(Issue)
-버그, 기능 요청, 일반적인 논의를 추적할 수 있는 시스템입니다.
👩🏻💻 예시를 통한 이해
Git을 사용하는 예시
- Alice는 자신의 컴퓨터에 Git을 설치하고 새로운 프로젝트를 시작합니다.
Alice는 코드를 작성하고 Git을 사용하여 변경 사항을 커밋합니다.
프로젝트가 진행되면서 Alice는 여러 브랜치를 만들어 다양한 기능을 동시에 개발합니다.
GitHub를 사용하는 예시
- Alice는 GitHub에 저장소를 만들어 자신의 프로젝트를 업로드합니다.
Bob이 Alice의 프로젝트에 기여하고 싶어 합니다. Bob은 프로젝트를 포크하고 자신의 GitHub 계정으로 복사합니다.
Bob은 로컬에서 포크한 저장소를 클론(clone)하여 작업을 합니다.
작업이 완료된 후, Bob은 자신의 변경 사항을 커밋하고 GitHub에 푸시(push)합니다.
Bob은 Alice의 저장소에 풀 리퀘스트를 생성하여 변경 사항을 병합해 달라고 요청합니다.
Alice는 Bob의 풀 리퀘스트를 검토하고, 필요한 경우 병합합니다.
💡 요약 💡
📌 Git
로컬에서 소스 코드의 버전을 관리하는 도구.
📌 GitHub
Git 저장소를 호스팅하고, 온라인에서 협업할 수 있는 플랫폼.