본문 바로가기
깃허브

8주차, 깃허브 개념 이해

by 호놀롤루 2022. 2. 11.

1. 개요

깃허브는 형상관리 툴이다.

원격 저장소(Remote Repository)에서 clone으로 가져오면 가져온 폴더에 로컬 저장소를 만들고,

커밋됐던 히스토리 정보까지 모두 가져온다.

 

2. 실전으로 이해-1

git clone 을 하게 되면 그 폴더에 .git 이라는 숨겨진 폴더가 생성되고, 이 폴더가 있는 폴더는

작업 폴더(Working Directory)r가 되고, 서버와 링크가 맺어진다.

 

// .git 폴더는 서버와의 링크 정보와 히스토리 정보를 모두 가지고 있는 폴더다.

// 이 폴더를 사람이 수정, 추가, 삭제할 필요가 없다. Git에서 알아서 한다.

 

2-1. 작업 폴더 구성

작업 폴더는 추적되는 파일, 추적되지 않는 파일로 나눠져있다. 추적이 된다는 말은 생성, 수정, 삭제

등의 히스토리 정보를 모두 가지고 있다는 뜻이다.

 

파일 추적의 상태

추적은 바로 이전 커밋을 기점으로 4가지 상태로 관리된다.

・ 추적안함 (Untracked) : 관리대상 ㄴㄴ

・ 추적함 (Tracked)

    ・ 수정 없음 (Unmodified) : 변경이 없는 파일

    ・ 수정함 (Modified) : 변경된 파일

    ・ 스테이지 됨 (Staged) : 스테이지에 올라간 파일

 

2-2. 실전으로 이해-2

git add

작업 폴더에 처음 파일을 생상한다면 아직 추적 대상이 아니다. 추적 대상이 아닐 경우, 아무런

히스토리 정보를 가지고 있지 않다.

 

관리대상으로 추가하는 명령어가 git add 이다.

git add 명령어를 실행하면 그 파일은 스테이지(Staging Area) 로 올라간다.

그리고 그 파일들의 수정, 삭제 등의 모든 정보가 Git에서 기록된다.

 

파일의 상태는 Untracked, Modified 에서 Staged 로 변경된다.

 

git commit

이제 스테이징 된 파일들을 로컬 저장소로 등록해야 한다. 이때 쓰는 명령어가 git commit이다.

 

git commit 명령어로 현재 스테이징 된 파일들을 그대로 스냅샷(백업마냥 어떤 시점의 상태 저장)으로

찍어서 로컬 저장소에 보관한다.

 

이 스냅샷이 하나의 히스토리가 되는 것이다.

스냅샷을 기준으로 과거, 미래의 상태로 이동할 수 있고, 다른 브랜치로 이동할 수 있는 기준점이 된다.

 

파일의 상태는 Staged 에서 Unmodified 로 변경된다.

 

git push

git commit 명령어로 로컬 저장소에 스냅샷을 찍어 이용하는 것은 내 컴퓨터에서만 가능한 상태다.

 

이걸 서버에 올려서, 다른 사람들과 공유하기 위해선, 원격 저장소에 업로드 해야 한다.

 

그 명령어가 git push 다. 로컬 저장소에서 커밋된 모든 내용을 원격 저장소에 올리는 것이다.

 

git pull

원격 저장소에 올라온 최신 수정본 파일을 내 로컬 저장소로 업데이트 해야할 필요가 있다.

그 때 git pull 명령어로 원격 저장소에 있는 내 로컬 저장소에 불러오면서 병합할 수도 있다.

 

git fetch 와의 차이는 fetch는 병합은 안한다.

 

'깃허브' 카테고리의 다른 글

8주차, 깃허브 명령어  (0) 2022.02.11
8주차, Git-Flow 이해  (0) 2022.02.11
8주차, 깃허브 remote origin 삭제  (0) 2022.02.10
8주차, 깃허브 .gitignore  (0) 2022.02.10
8주차, 깃허브 사용법 기초  (0) 2022.02.09

댓글