[Git] 깃 개요 및 기초 명령어

박상혁·2023년 5월 8일
0

Git

목록 보기
1/2

서론

실제 현업 프로젝트에서 사용하는 협업 방식을 익히기 위해 git의 기본적인 사용 방법 및 동작 방식에 대한 이해가 필요했습니다.
이에 해당 내용을 정리하려 포스팅합니다.

목차

  1. 개요
  2. git의 구성

본론

1. 개요

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

사용하는 이유?

  • 파일이 달라지지 않으면 파일을 새로 저장하지 않아 성능적인 장점이 있습니다. (이전 상태의 파일에 대한 링크 저장)
  • 여러 명이 동시에 작업하는 병렬 개발이 가능합니다.(branch 개별 개발 및 merge를 통한 병합)
  • 버전 관리 시스템을 통해 체계적인 개발이 가능합니다. (실수 대처 가능)

2. git의 구성 및 동작방식

git은 기본적으로 3단계로 구성되어 있습니다.

  1. 우선 해당 working Area 디렉토리 안에서 작업을 진행합니다.

  2. 작업이 완료되면 파일이 추가되거나 수정 및 삭제가 발생하는데, 이를 각각 add 명령어를 통해 stage로 넘겨집니다. 이 때 Staging area는 한번 더 검토할수 있게 하는 영역으로 원하는 파일만을 올려서 커밋할 수 있게 합니다.

  3. staging 영역 안에 존재하는 모든 staged된 파일은 commit을 통해 snapshot으로 만들어집니다. 이렇게 만들어진 snapshot은 파일에 어떤 내용이 기록되어 있는지 등의 모든 정보가 담겨진 하나의 상태입니다. 이는 local repository에 저장됩니다.

  • .git 폴더 내부에 구현되어 있습니다.
    Stage 내용은 .git/index파일 에 저장, Repository(Snapshot) 내용은 .git/HEAD파일 에 저장.
  • git은 Hash를 사용하여 commit code가 겹칠 일은 없습니다.

3. git 기초

👉 저장소 만들기
처음 저장소를 만들 때 2가지 방법이 존재합니다.

  • 새로운 git repository 생성
git init // git repository 생성
git branch -M main // main으로 등록된 branch 이름을 "master"에서 "main"으로 변경
git push origin main // 원격 저장소에 push

  • github repository clone
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 구조와 용어 간단하게 살펴보자

profile
개발 노트

0개의 댓글