1일 1개념정리 (24년 8월~12월)/기타 WEB , GIT 등
1일1개 (24) - 햄 vs 햄스터
poetDeveloper
2024. 9. 3. 23:42
1일 1개념정리 24.08.09.금 ~
큰 결정에 큰 동기가 따르지 않을 때도 있다. 하지만 큰 결심이 따라야 이뤄낼 수 있다.
무조건 무조건 1일 1개의 개념 정리하기 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#24. Git vs Github
깃과 깃허브의 차이를 묻는다면 햄과 햄스터의 차이라고 할 수 있나... 그정돈 아니고 연관성은 좀 있지만 다른 것이다. 아무튼 다른 것이라고 이야기하기보다, 각각에 대해 알아보며 그 차이를 이야기해보자.

Git
git은 "분산 버전 관리 시스템"으로, 프로젝트의 소스 코드를 관리하고 추적하는 도구이다. 주요 특징은 다음과 같다.
- 버전 관리 : git은 파일의 변경 이력을 기록하고 프로젝트의 버전을 관리한다. 이덕분에 이전 버전으로 돌아가거나 특정 시점에서의 코드를 확인할 수 있다.
- 분산형 구조 : 앞서 말했듯 git은 분산 버전 관리 시스템인데, 이 말은 즉 프로젝트의 전체 히스토리(버전 내역)가 여러 개의 복사본으로 나누어져 개인의 로컬 컴퓨터에 저장된다는 뜻이다. 그래서 중앙 서버에 문제가 발생해도 로컬에서 데이터를 복구할 수 있다.
- 브랜치(병렬개발) : git은 여러 개발자가 동시에 작업할 수 있도록 브랜치라는 개념이 있고 이를 나중에 merge하는 기능을 제공한다. 이를통해 여러 기능을 병렬로 개발하거나 버그 수정을 쉽게 관리할 수 있다.
- 로컬 작업 : git은 인터넷 연결 없이도 로컬에서 버전 관리를 할 수 있게 도와준다.
참고) "중앙 집중식" 버전 관리 시스템 (ex. Subversion, CVS)
- 모든 개발자가 동일한 중앙 서버에 접속해 프로젝트의 최신 버전을 가져오고, 변경 사항을 커밋한다.
- 중앙 서버가 장애를 겪으면 모든 작업이 중단될 수 있고 중앙 서버가 유일한 변경 내용 저장소가 된다.
GitHub
github는 git 저장소를 호스팅하고 관리하는 웹 기반 플랫폼이다. 주요 특징은 다음과 같다.
- 원격 저장소 호스팅 : github는 git 저장소를 온라인에서 호스팅할 수 있는 공간을 제공한다. 이를 통해 여러 개발자가 인터넷을 통해 프로젝트를 공유하고 협업할 수 있다.
- 협업 도구 : github는 pull request, 이슈 트래킹, 프로젝트 관리 보드, 위키 등을 제공하여 팀의 협업을 도와준다.
- 소셜 코딩 : 알다시피 github에는 정말 여러 프로젝트가 올라온다. 이는 github를 중심으로 소셜 기능을 제공하는데, 다른 사용자를 팔로우하거나 포크하여 새로운 작업을 할 수도 있다. 사실 오픈소스 프로젝트도 이를 중심으로 많이 발전했다고 생각한다.
정리
- Git은 소스 코드의 버전 관리를 위한 로컬 도구, 개발자가 로컬에서 코드를 관리하고 버전 기록을 추적할 때 사용
- Github는 Git 저장소를 원격으로 호스팅하고, 개발자끼리 협업할 수 있게 다양한 도구 제공
반응형