본문 바로가기

공부/GIT

git, github 정리

반응형

Git, GitHub란 📖

1. Git

깃(Git)은 파일의 변경사항을 추적하고 프로젝트 참여자들 간에 파일에 대한 작업을 조율하는데 사용되는 분산 버전관리 시스템입니다. 

 

분산 버전관리 시스템이라는 말이 너무 어렵게 느껴지고 헷갈리실수도 있을텐데 전~혀 걱정하실 필요가 없습니다! 쉽게 설명 해드리겠습니다! 

 

왜 버전관리가 필요할까?

ppt 발표 자료를 만든다고 가정 했을 때 '최종.ppt'를 만들었다가 내용이 바뀔 경우 '최최종.ppt', 또 수정해서 '최최최종.ppt' 파일을 만들었다면 어느것이 가장 최근 파일인지 알아보기 어렵고 효율적이지 못하다는 단점이 있습니다.

 

개인이면 상관이 없을 수도 있지만 여러 명이 참여하는 프로젝트를 한다고 했을 때 각 파트별로 만든 파일을 합치는 과정이 매우 복잡해질 수 있습니다.

 

이런 버전관리를 돕는 시스템이 바로 깃(Git)입니다!

 

2. GitHub

iCloud, 네이버 MYBOX 등과 같은 원격 저장소(Remote Repository)를 제공해주는 클라우드 서비스라고 이해할 수 있습니다.

 

로컬에서 Git을 통해 프로젝트의 버전관리를 시작해 Github에 공유할 수 있고, 공유 된 프로젝트를 Git을 통해 로컬로 받아와 버전관리를 할 수 있습니다!

 

Git 기본 용어

1. Repository(저장소)

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

2. Working Tree

저장소를 어느 한 시점을 바라보는 작업자의 현재 시점.
현재 작업중인 공간으로, 실제 파일을 수정하거나 생성하는 공간

3. Staging Area

저장소에 커밋하기 전에 커밋을 준비하는 위치.
git add 명령어를 통해 이 영역으로 제출하게 되면 git commit을 통해 로컬 저장소(local repository)로 이동하기를 기다리고 있는 공간입니다.

4. Local Repository(로컬 저장소)

Staging Area에 있는 파일들이 git commit 명령어를 통해 Local Repository로 저장되며, Staging Area는 비워집니다.

5. Remote Repository(원격 저장소)

git push 명령어를 통해, Local Repository에서 옮겨지며, git clone, git fetch, git pull 등의 명령어로 로컬 컴퓨터와 상호작용할 수 있습니다. 

 

Git 기본 명령어

1. git init

일반 디렉토리(폴더)를 Git 저장소로 초기화 하는 명령어

2. git status

로컬 저장소의 상태를 체크하며, 어떤 파일이 저장소 안에 있는지, 커밋이 필요한 변경사항이 있는지, 현재 저장소의 어떤 브랜치에서 작업을 하고 있는지 등의 상태정보를 출력합니다.

3. git branch

새로운 브랜치를 생성합니다.

4. git add

staging 영역에 변경 내역을 추가합니다.
ex) git add . : (현재 디렉토리의 모든 변경 내용을 등록)

5. git commit

staging area에 있는 파일을 로컬 저장소로 옮기는 명령어
ex) git commit -m "커밋 메시지"

6. git push

로컬 저장소에서 최종 commit된 내용을 원격 저장소로 반영

7. git pull

원격 저장소의 변경 사항을 로컬 저장소로 가져오고 현재 브랜치와 merge합니다.

8. git log

commit 내역들을 확인합니다.

9. git clone

원격 저장소에 데이터를 로컬 컴퓨터로 복사합니다.

10. git merge

저장소는 히스토리, 태그, 

11. git checkout

작업하기 원하는 브랜치로 이동하는 명령어 입니다.
ex) git checkout develop : develop 브랜치로 이동
ex) git checkout -b develop : develop 브랜치를 생성 후 이동

 


출처 🏷️

 

 

Git - Book

 

git-scm.com

https://yanacoding.tistory.com/4

https://velog.io/@turtlemana/Git-%EA%B0%9C%EB%B0%9C%EC%9E%90%EB%9D%BC%EB%A9%B4-%EB%B0%98%EB%93%9C%EC%8B%9C-%EC%95%8C%EC%95%84%EC%95%BC%ED%95%A0-%EB%B2%84%EC%A0%84%EA%B4%80%EB%A6%AC

반응형