GIT
Git이란 분산형 버전 관리 시스템(Version Control System) 의 한 종류이며, 빠른 수행 속도에 중점을 둔다.
1. 버전 관리란?
버전 관리 시스템은 파일변화를 시간에 따라 기록했다가 나중에 특정시점의 버전을 다시 꺼내올 수 있는 시스템이다.
- 각 파일을 이전 상태로 되돌릴 수 있다
- 프로젝트를 통째로 이전 상태로 되돌릴 수 있다
- 시간에 따라 수정 내용을 비교해 볼 수 있다
- 누가 문제를 일으켰는지도 추적할 수 있다
- 누가 언제 만들어낸 이슈인지도 알 수 있다.
- 파일을 잃어버리거나 잘못 고쳤을 때도 쉽게 복구할 수 있다
2. Git의 필요성
- 나와 내 동료가 같은 웹 사이트에서 동시에 같은 'A' 페이지를 업데이트 하고 있다고 하자
- 나는 무언가를 변경하고 저장한 다음 웹사이트에 'A' 페이지를 업로드 한다
- 그런데 이 때 동료가 동시에 'A' 페이지에서 작업을 할 때 문제가 발생한다.
- 만약 확인하지 않고 동시에 작업을 한다면 누군가의 작업은 덮어 쓰여질 것이고 지워질 것이기 때문이다.
- Git은 이와 같은 일을 사전에 방지해준다.
- 나와 동료는 같은 페이지에 각자 수정사항을 업로드 할 수 있고, 두 개의 복사본을 저장한다.
즉, 모두 같은 환경에서 개발하여 불필요한 시간을 없애고 서로 주고 받는 와중에 일어나는 충돌을 최소화 하는 것이라고 말할 수 있다.
프레임워크를 갖추고 공통으로 쓰는 코드들을 미리 넣어두고, 테스트 코드나 샘플 코드들을 넣어주어서 프로젝트 개발 시작하기전에 팀원 모두 같은 코드로 테스트할 수 있는 환경도 제공할 수 있다.
3. Git의 장점
1) 소스 코드를 주고 받을 필요 없이, 같은 파일을 여러 명이 동시에 작업하는 병렬 개발이 가능하다.
(브랜치를 통해 개발한 뒤, 본 프로그램에서 합치는 방식(Merge)으로 개발을 진행 할 수 있다)
2) 분산 버전 관리이기 때문에 인터넷이 연결되지 않은 곳에서도 개발을 진행할 수 있고, 중앙 저장소가 날라가 버려도 원상복구 할 수 있다.
3) 팀 프로젝트가 아닌, 개인 프로젝트일지라도 Git을 통해 버전 관리를 하면 체계적인 개발이 가능해지고, 프로그램이나 패치를 배포하는 과정도 간단해진다.
4. Git 작동 구조
- 내가 작업을 한 것을 (로컬 저장소)
- 원격 저장소로 밀어내거나 (PUSH)
- 원격 저장소에서 최신 형상을 내 작업공간으로(로컬 저장소) 당겨온다 (PULL)
출처
[GIT] ⚡️ git 개념 & 원리 (그림으로 알기쉽게 비유 😃)
Git 이란 무엇인가? Git이란 분산형 버전 관리 시스템(Version Control System) 의 한 종류이며, 빠른 수행 속도에 중점을 둔다. 우리가 레포트를 제출한다고 가정했을때, 처음에 저장했을때 'report.txt'라
inpa.tistory.com
'Git & Github > Git' 카테고리의 다른 글
Interactive rebase에서 최초 커밋을 수정할 수 없는가? (0) | 2025.05.02 |
---|---|
Git 초기 프로젝트 push 에러 기록 (0) | 2024.05.19 |
git push 403 에러 (0) | 2024.04.24 |
0. GITHUB Page 만들기 (0) | 2024.02.27 |
0. GIT 설치하기 (0) | 2024.02.23 |