Git

turnaroundwoo·2023년 3월 10일
0

11st Blogs

목록 보기
45/52

Git

Git 이란, 소스 코드를 효율적으로 관리하기 위해 만들어진 분산형 버전 관리 시스템 을 말하는데요. 원래는 Linux 소스코드를 관리할 목적으로 만들어졌습니다.


우리가 Git을 사용하는 이유는 다음과 같습니다.

1️⃣ 소스코드를 주고 받을 필요 없이 같은 파일을 여러 명이 동시에 작업하는 병렬 개발이 가능합니다.
(브랜치를 통해 개발한 뒤, 본 프로그램에 합치는 방식(Merge)으로 개발을 진행할 수 있음) 

2️⃣ 분산 버전관리이기 때문에 인터넷이 연결되지 않은 곳에서도 개발을 진행할 수 있으며, 중앙 저장소가 날라가버려도 다시 원상복구할 수 있습니다.

3️⃣ 팀 프로젝트가 아닌, 개인 프로젝트일지라도 GIT을 통해 버전 관리를 하면 체계적인 개발이 가능해지고, 프로그램이나 패치를 배포하는 과정도 간단해집니다. (pull을 통한 업데이트, patch 파일 배포) 

✅ Git 관련 용어 정리

 📌 Repository : 저장소를 의미하며, 저장소는 히스토리, 태그, 소스의 가지치기 혹은 branch에 따라 버전을 저장합니다. 저장소를 통해 작업자가 변경한 모든 히스토리를 확인 할 수 있습니다.

📌 Working Tree : 저장소를 어느 한 시점을 바라보는 작업자의 현재 시점

📌 Staging Area : 저장소에 커밋하기 전에 커밋을 준비하는 위치

📌 Commit : 현재 변경된 작업 상태를 점검을 마치면 확정하고 저장소에 저장하는 작업

📌 Head : 현재 작업중인 Branch를 가리킵니다.

📌 Branch : 가지 또는 분기점을 의미하며, 작업을 할때에 현재 상태를 복사하여 Branch에서 작업을 한 후에 완전하다 싶을때 Merge를 하여 작업을 합니다.

📌 Merge : 다른 Branch의 내용을 현재 Branch로 가져와 합치는 작업을 의미합니다.

📌 git init : 버전관리 하고싶은 폴더에서 초기화를 하는 준비

📌 git branch
1. 독립적인 공간을 만듭니다.
2. 새로 만든 branch lab1은 master와 완전히 동일한 상태를 가진 공간.
3. 브랜치에서 수정을 한 후 커밋하면 lab1에만 기록되며 master 브랜치에는 어떤 영향도 주지 않습니다.
4. 원하는 만큼 빠르게 branch를 만들 수 있습니다.
5. 실험 중 다른 브랜치로 돌아가야 할 때 : checkout master 로 head를 옮겨야 합니다.
(cf: 작업 중인 위치를 가르키는 가상의 커서가 존재하는데 이를 git에서는 HEAD라 합니다.)
6. 실험 성공 : lab1 브랜치의 내용을 마스터 브랜치와 병합(Merge) 합니다.
7. 실험 실패 : lab1 브랜치를 삭제합니다.

📌 checkout : 독립된 작업 공간인 브랜치를 자유롭게 이동할 수 있습니다.

📌 git commit : 의미있는 수정 작업이 끝났을 때 마침을 알리는 작업

📌 pull : 리모트 저장소의 변경된 내용을 로컬(내 컴퓨터) 저장소에 적용하는 작업을 pull이라 합니다.

📌 master : git init을 했을 때, default로 만들어지는 가지가 'master'입니다.

🗒 출처


0개의 댓글