코딩 성장기

[Git] 깃 개념 및 관련 용어들 본문

Git&Git Hub

[Git] 깃 개념 및 관련 용어들

김소우 2022. 1. 28. 00:42

Git(깃)이란?

버전 관리 시스템 중 하나.

소스 코드 기록을 관리하고 추적 할 수 있다.

버전 관리 : 파일에 변동 사항이 생길 때 마다 각 버전별로 변경된 이력들을 저장하는 것

버전 관리를 해야하는 이유

1. 실수로 파일을 잘못 저장하거나 날렸을 경우, 이전에 저장된 버전의 파일을 가져올 수 있다.

2. 다시 이전에 작성해둔 내용으로 돌아가고 싶을 때 기록되어있는 버전의 파일을 불러올 수 있다.

3. 새로운 버전의 파일(백업 복사본)을 저장할 때 마다 코멘트를 남겨놓기 때문에 누가 어떤파일을 추가/수정/삭제 했는지 알 수 있다.

4. 한가지 파일을 여러사람이 동시에 작업해야 할 경우 용이하다.

5. 버전 관리 시스템 중 하나인 Git을 사용하면 Github, Gitlab, Bitbucket 등의 원격 저장소를 이용하여 파일을 백업하고 협업 할 수 있다.

Github(깃허브)란?

원격 저장소.

Git으로 관리하는 로컬 저장소(내 컴퓨터)에 있는 파일들을 관리할 수 있는 서버 저장소이며

다른 사람들과 협업할 때 사용된다.

관리하고 싶은 폴더 혹은 파일을 Github에 업로드 해서 이용하면 된다.

Git 관련 기초 용어

스냅샷

파일에서 변경된 부분의 저장 내역.

Git은 버전 관리를 할 때, 파일 전체를 복사하여 저장하는 것이 아니라, 파일에서 수정된 부분만 저장한다.

(용량 관리 & 수정된 부분 빨리 찾기 위해)

commit(커밋)

git commit -m <변경사항>

스냅샷을 깃 저장소에 기록하는 작업.

커밋을 할 때마다 변경 내역이 저장되므로 이전 기록들 확인이 용이하다.

(변동사항이 생기면 커밋한다!)

remote repository에 올라간 파일은 깃허브에 들어가면 변경된 부분이 하이라이트처리가 되어있어,

눈으로 손쉽게 확인이 가능하다.

Git Repository

1. remote repository

원격 온라인 상의 저장소. 여러 사람들과 코드(파일)을 공유할 때 이곳에 올려둔다.

깃허브에 있는 저장소가 remote  repository 가 된다.

2. local repository

내 컴퓨터에 있는 저장소 혹은 개인이 사용하는 저장소. 코드 작업이 이루어 지는 저장소이다.

다른 사람의 remote repository에 접근하여 local repository에 소스코드를 가져와서 작업할 수 있다.

init

git init

깃을 적용시키고 싶은 폴더에 들어가서 해당 명령을 하면 폴더에 깃이 적용된다.

remote

git remote add <사용자명> <remote repository 주소>

remote repository와 나의 폴더를 연결시키는 작업. 다른 사람의 폴더도 연결할 수 있다.

git remote -v 를 사용하면, 나의 local repository와 연결된 remote repository를 알 수 있다.

fork

다른 사람이 remote repository에 올려둔 파일을 이용하고 싶을 경우에 나의 remote repository로 해당 파일을 가져오는 작업을 말한다. 

깃허브에 내가 접근하고 싶은 remote repository에 들어가서 우측 상단에 들어가 'Fork' 버튼을 누르면 된다.

우측 상단을 보면 프로필 아래에 위와 같은 버튼들이 있음

clone

git clone <remote repository 주소>

나의 remote repository에 올라와있는 파일을 수정하고 싶을때 나의 local repository로 해당 파일을 가져오는 작업.

fork된 폴더의 주소를 가져와야 한다! 원작자의 remote repository 주소를 가져오면 안됨.

staging area

git의 관리를 받는 공간(상태). 이 공간에 올라온 파일들은 staged file 이라고 부른다.

unstaged/untracked file

나의 local repository에서 작업된 파일. 작업만 되고 git의 적용을 받지 않은 파일.

remote repository에 올리기 위해서는 파일을 staging area로 올려주어야 한다.

status

git status

commit 하기 전에 변경된 파일들이 어떤것이 있는지 확인하는 작업.

add

git add <파일명>

git add.(staging area에 있는 모든 파일을 commit 한다)

local repository 에서 작업하여 변경된 파일을 commit 할 수 있게 하는 작업.

(변경된 파일을 staging area로 올리는 작업)

restore

git restore

commit되지 않은 local repository에 있는 변경사항을 폐기하는 작업

reset

git reset

remote repository에 올라가지 않았지만, local repository에 커밋된 내용을 취소하고 싶을 경우 사용

push

local repository에서 수정하고 커밋한 파일을 remote repository로 올리는 작업.

push를 한 뒤, 깃허브에서 'pull request'를 하면 나의 변경 사항을 반영해달라는 요청이 원작자에게 간다.

pull

내가 fork한 remote repository에서 변경사항이 생긴 경우 나의 local repository로 변경사항을 가져와서 적용하는 작업.