실제 현업 프로젝트에서 사용하는 협업 방식을 익히기 위해 git의 기본적인 사용 방법 및 동작 방식에 대한 이해가 필요했습니다.
이에 해당 내용을 정리하려 포스팅합니다.
- 개요
- git의 구성
버전 관리란?
파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템입니다.
사용하는 이유?
git은 기본적으로 3단계로 구성되어 있습니다.
우선 해당 working Area 디렉토리 안에서 작업을 진행합니다.
작업이 완료되면 파일이 추가되거나 수정 및 삭제가 발생하는데, 이를 각각 add
명령어를 통해 stage로 넘겨집니다. 이 때 Staging area는 한번 더 검토할수 있게 하는 영역으로 원하는 파일만을 올려서 커밋할 수 있게 합니다.
staging 영역 안에 존재하는 모든 staged된 파일은 commit
을 통해 snapshot으로 만들어집니다. 이렇게 만들어진 snapshot은 파일에 어떤 내용이 기록되어 있는지 등의 모든 정보가 담겨진 하나의 상태입니다. 이는 local repository에 저장됩니다.
👉 저장소 만들기
처음 저장소를 만들 때 2가지 방법이 존재합니다.
git init // git repository 생성
git branch -M main // main으로 등록된 branch 이름을 "master"에서 "main"으로 변경
git push origin main // 원격 저장소에 push
git clone https://~~ // 원격 저장소에 있는 거 전체 가져옴
👉 작업하기
저장소 내부에서 프로젝트 작업을 수행합니다.
git 저장소 내부에 변경사항이 있는지 체크하기 위해 다음과 같은 명령어를 사용할 수 있습니다.
git status
헤딩 명령어를 통해 add
, commit
등 파일의 상태를 확인할 수 있습니다.
👉 staging 추가하기
작업을 수행한 후 변경된 파일들을 staging area에 추가합니다. 원하는 변경 파일만 추가할 수 있고 변경된 파일 모두를 추가할 수 있습니다.
git add 파일 파일 파일 // 해당 파일만 stage화
git add . // 모든 변경된 파일을 stage
👉 snapshot 만들기
옮겨진 staged 파일들은 commit
을 통해 snapshot으로 만들어 local 저장소에 온전히 영구 불변으로 저장합니다.
git commit -m "메세지"
👉 원격 저장소에 snapshot 올리기
원격 저장소에(github) 작업이 완료된 snapshot을 올립니다. 해당 작업을 하기 위해서는 먼저 원격 저장소를 로컬에 등록해야 합니다.
git remote add origin 자신의gitURL // origin이란 이름으로 원격 저장소 로컬에 등록
나중에 원격 저장소 이름을 바꿀 수 있습니다.
이후 원격 저장소에 해당 snapshot을 등록합니다.
git push origin main // origin이란 이름의 원격 저장소에 main 브랜치로 등록
👉 원격 저장소로부터 내려받기
반대로 내려받기 위해서는 다음과 같은 명령어를 입력합니다.
원격 저장소의 브랜치에 저장되있는 snapshot을 현재 로컬 브랜치에 가져옵니다.
git pull (origin main) // 괄호 생략 가능
요약
git init
git add .
git commit -m ""
git push origin main
협업을 진행하는데 있어 꼭 필요한 기초 git 사용법에 대해서 알아보았습니다.
처음엔 생소한 용어와 이해하기 뭔가 복잡한 이론들이였는데
막상 실습과 병행하여 진행 하다보니 쉽게 접근할 수 있었습니다.
위 내용들은 기초중에 기초로써 앞으로 브랜치에 대한 개념과 브랜치 전략 및 충돌 대처에 대해 좀 더 알아보는 시간을 가지겠습니다.
[GIT] ⚡️ git 개념 & 원리 (그림으로 알기쉽게 비유 😃)
Git 이란 ? Git 구조와 용어 간단하게 살펴보자