2022. 5. 9. 16:08ㆍgit
GIT이란?
2005년에 리누스 토르발스에 의해 개발된 "분산 버전관리 시스템"
컴퓨터 파일의 변경사항을 추적하고 여러명의 사용자들 간에 파일에 대한 작업을 조율하는데 사용
주로 여러명의 개발자가 하나의 소프트웨어 개발 프로젝트에 참여할때, 소스 코드를 관리하는데 주로 사용된다.
버전관리
예시)ppt 발표 자료 준비
처음 ppt파일 제목을 만들었다가 내용이 바뀌면 수정ppt로 파일명을 바꾸고, 수정을 거쳐 최종ppt파일을 만들었다.
마지막에 가독성을 높이기 위해 글자 크기를 키우고 진짜 최종ppt파일을 만들었다고 해보자.
위방법은 어느것이 가장 최근 파일일지 알아보기 어렵고 효율적이지 못한 단점이 있다
그리고 개인ppt가 아닌 팀 프로젝트로 개인이 본인이 맡은 파트의 ppt를 만들어 합치는 과정이라고 생각해보자.
팀원2가 본인 담당 파트를 1가 만든 진짜 최종ppt파일에 업데이트를 한 경우, 팀원 1은 다시 글자 크기를 조절 해야하는 번거러운
과정을 거쳐야 한다. 팀원이 둘이 아닌 3~4명 혹은 수십명인 대형 프로젝트를 진행할 경우, 버전관리를 통해 각 파트별로 만든 파일을 본
버전에 합치는 과정은 매우 복잡해질 것이다.
개발 프로젝트에서 이런 버전관리를 돕는 시스템이 바로 깃(git)이다.
(-전체 개발 소스를 공유하면서 개발 파트를 나누기 수월 해진다.
-같은 모듈을 개발 하더라도 소스를 서로 공유하며 개발 할 수있다.
-원할 때 예전 버전 내용 전체를 되돌려 볼 수 있으며 복잡한 코드를 개발할 때 이전 버전과 비교하기 수월하다)
깃의 장점
-인터넷 연결이 되지 않는 곳에서도 개발을 진행 가능
분산 버전관리이기 때문에 중앙 저장소가 삭제 되어도 원상복구가 가능
-각각의 개발자가 Branch에서 개발한 뒤, 본 프로그램에 합치는 merge방식을 통한 병렬 개발 가능
(빠른 협업환경 조성// 누가 언제 무엇을 어떻게 수정 했는지 코드 리뷰가능/// 이슈 트래커 지원// 깃헙을 이용하여 깃을 쉽게 공유 할 수 있다.// 대부분의 IDE에서 git 연동을 제공한다.)
GIT 기본 용어
-Repository:저장소. 저장소는 히스토리, 태그, 소스의 가지치기 혹은 branch에 따라 버전을 저장.
작업자가 변경한 모든 히스토리를 확인 가능.
-Working Tree:저장소를 어느 한 시점을 바라보는 작업자의 현재 시점
-Staging Area:저장소에 커밋하기 전에 커밋을 준비하는 위치
-Commit: 현재 변경된 작업 상태를 점검을 마치면 확정하고 저장소에 저장하는 작업.
-Head: 현재 작업중인 Branch를 가리킨다.
-Branch: 가지 또는 분기점. 작업을 할때에 현재 상태를 복사하여 Branch에서 작업을 한 후에 완전하다 싶을때 Merge를 하여
작업을 한다.
-Merge: 다른 Branch의 내용을 현재 Branch로 가져와 합치는 작업을 의미한다.
-tag: 특정 이력을 가지는 commint에 대한 참조
-pull request:완료한 작업을 다른 사람이 리뷰하고 병합하도록 요청하기
-issus:기능에 대한 논의, 버그 추적하기
-wiki: 링크들을 연결해 웹페이지 만들기
-push: 내 컴퓨터 로컬에 저장되어 있던 버전 정보를 서버(git저장소)에 올리기
-pull: git 저장소 서버로부터 내 컴퓨터 로컬로 버전 정보 전체를 가져오기
Git Commit 과 Git Push 의 차이점
git commit 은 변경 사항을 저장하는데 사용됩니다.
git push 는 관련 객체왕 함께 원격 참조를 업데이트 합니다.
따라서 첫 번째는 로컬 저장소와 연결하여 사용되는 반면 후자는 원격 저장소와 상호 작용하는데 사용됩니다.
커밋- 파일을 추가하거나 변경 내용을 저장소에 저장하는 작업.
푸시- 파일을 추가하거나 변경 내용을 원격 저장소에 업로드 하는 작업.
로컬 저장소와 원격 저장소
저장소는 파일이나 디렉토를 저장하는 장소이다.
변경 이력을 관리하고자 하는 디렉토리 등을 저장소의 관리하에 두는 것으로, 그 디렉토리에 있는 파일 등의 변경 내역을 기록할 수 있다.
로컬 저장소: 현재 내가 사용하고 있는 내디바이스(pc)에 저장되는 저장소.
원격 저장소:원격 서버에 저장되고 관리되는 저장소.
'git' 카테고리의 다른 글
GIT 지옥에서 탈출하기2 (0) | 2022.05.16 |
---|---|
GIT 지옥에서 탈출하기 (0) | 2022.05.15 |
gitignore 배운부분 확인하기 (0) | 2022.05.12 |