새소식

💬 ALL

Git과 GitHub : 초보자를 위한 코드 관리의 최적화 (1)

  • -

 

내가 배운 Git과 GitHub에 대해 정리해보려고 한다.

소프트웨어 설명, 기능 설명, 명령어를 통해 직접 사용해 보는 것까지 다뤄보도록 하겠다.

 

🗂️ 버전관리시스템이란?

파일변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템이다.

- 파일을 이전 상태로 되돌리기
- 프로젝트 통째로 이전 상태로 되돌리기
- 시간에 따른 수정내용 비교가능
- 문제 추적가능
- 파일 복구기능


🗂️ 중앙집중식버전관리(CVCS)

파일을 관리하는 서버가 별도로 존재하고, 클라이언트는 이 중앙 서버에서 파일을 받아 사용합니다. 그러나 중앙 서버가 한 시간 동안 다운 되면 그동안 프로젝트 협업이 불가능하고 백업도 불가능한 단점이 있습니다. 또한, 중앙 데이터베이스가 있는 하드디스크에 문제가 발생하면 프로젝터의 모든 히스토리가 삭제되는 위험성도 있다.


🗂️ 분산버전 관리시스템(DVCS) : Git이란?

Git은 분산 버전 관리시스템으로, 단순히 파일의 마지막 스냅샷을 Checkout 하는 것이 아닌 저장소를 히스토리와 더불어 전부 복제한다.
따라서 서버에 문제가 생겨도 이 복제물로 다시 작업 시작이 가능하다. 

 

또한 Git의 브랜칭기능은 중앙 집중식 버전 관리시스템과는 다르게 비용이 저렴하고 병합하기 쉽다.

이러한 장점 때문에 많은 사람들이 Git을 활용하고 있으며, 실무에 들어가기 전에 꼭 알아야 하는 이유이다.

즉, Git은 협업 및 개발을 편리하게 해주는 무료, 공개 소프트웨어이다.

 

git-structure-image

Git의 주요 상태로는 Committed, Modified, Staged가 있다.
Committed : 데이터가 컴퓨터에 안전하게 저장됐다는 것
Modified : 수정한 파일이 아직 컴퓨터에 커밋하지 않은 것
Staged : 현재 수정할 파일을 곧 커밋할 것이라고 표시한 상태

 

워킹트리에서 파일을 수정 후 staging area에 파일을 stage해서 커밋한 스냅숏을 만든다. 모든 파일을 추가할 수도 있고 선택하여 추가할 수도 있다. staging area에 있는 파일들을 커밋해서 git디렉터리에 영구적인 스냅숏으로 저장한다.

 

💻 GitHub란?

GitHub는 분산 버전 관리 소프트웨어인 Git의 저장소 호스팅을 지원하는 웹 서비스이다.

무료와 유료서비스를 모두 지원하며, 많은 오픈 소스 프로젝트들이 모여있는 곳으로, 수많은 개발자들이 코드를 공유하고 협력하는 환경을 제공한다. 이는 개발자들에게 다양한 기회를 제공한다.

또한 통합개발환경(IDE)과의 연동을 지원하는 것으로 코드 작업과 버전관리를 편리하게 할 수 있다.

 

결론

Git과 GitHub는 현재 개발 업계에서 필수적으로  요구되는 도구이다.

이 도구들을 이해하고 활용할 수 있다면, 팀 프로젝트 협업 능력을 향상 시킬 수 있다.

다음 글에서는 Git의 설치와 간단한 명령어에 대해 다룰 것이다. 

 

정리

Git 한글 공식 메뉴얼 참고

출처 : https://git-scm.com/book/ko/v2

 

Git - Book

 

git-scm.com

 

이 글은 위 링크를 참고하여 작성하였습니다. 더 자세한 내용을 알고 싶다면 링크를 클릭하여 확인해 보세요.

 

git-logo-and-github-logo-image

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.