Programming/etc

git을 사용하여 버전관리를 해보자! 간단한 튜토리얼 -1

조용장 2022. 1. 7. 20:03

저번에 git이 무엇인지 소개하는 글을 작성하고 이번에는 어떻게 사용을 사용을 하는지 어떻게 이용하면 될지 작성을 해보려고합니다.

이전 git 설명: https://choyoungjang.tistory.com/11 

 

git이란?

요즘 개발자라면 웬만해서는 git에 대해서 잘알고있고 포트폴리오에서 보여주기 때문에 다들 사용하고있습니다. 저 역시 코딩 테스트 기록용, 제가 했던 개발 코드 공유, 회사 프로젝트 관리용

choyoungjang.tistory.com

또한 튜토리얼 정도이기에 로컬환경에서 (github-원격환경) 사용하는 방법만을 소개하겠습니다.

먼저 깃이 설치 되었다는 가정하에 진행을 하겠습니다. 

설치는 git 홈페이지에서 컴퓨터 os에 맞게 설치를 하는 부분이라 어렵지 않을겁니다.

또한 개발 에디터로는 VSC를 통해서 설명을 드리겠습니다.

 

먼저 연습을 위해 바탕화면에 git_tutorial 이라는 폴더를 생성하였습니다.

폴더안에는 아무것도 없는 상태이죠

 

git init

이 상태에서 터미널에 git_tutorial폴더로 이동하여 git init을 입력해 줍니다.

git init

git init을 입력하게 되면 폴더에 .git 폴더가 생성됩니다. 안보이는 경우 숨길 파일을 보이게 하시면 나오는 것을 알수있을겁니다.

 

이렇게 생성이 되었고 터미널에 git status를 입력해 보면 깃은 존재하는데 아무것도 한게 없다고 나오는 것을 볼 수 있습니다.

git status

 

이제 이 환경은 깃으로 버전을 관리하게 된 상태입니다.

원래라면 이상태에서 개발을 하고 버전을 관리해야하지만! 저희는 튜토리얼이기때문에 아무 파일을 만들어서 변경해보며 진행을 해보겠습니다.

저는 아들, 딸, 아버지, 어머니 라는 파일을 생성시켰습니다.

git add

이를 깃을 통해 버전을 관리해보겠습니다.

git add를 통해 깃에 새로 추가된 정보를 저장합니다.

git add --all

add 뒤에 --all 또는 -A 을 통해서 현재 변경또는 추가된 내용을 전부 저장시키겠다는 뜻입니다.

 

git commit

이렇게 저장만 하면 어디서 변경이 되었는지 추가가 되었는지 알수가 없겠죠?

이때 알아보기위해 설명을 달아놔야하는데 이것을 commit을 통해 할수있습니다.

git commit -m "데이터 추가"

commit 뒤에 -m 은 메세지를 의미 하며 "데이터 추가"라는 설명과 함께 깃에 기록이 됩니다.

이런식으로 터미널에서 저장이 된것을 볼 수 있습니다.

 

git log

저장까지 완료를 했는데 이전 정보는 어떻게 볼까요?

git log를 통해서 지금까지 commit한 정보를 볼 수 있습니다.

git log

이런식으로 기록이 남는 것을 볼수있죠?

 

이제 추가적으로 데이터를 하나더 추가해보겠습니다.

저는 할머니라는 파일을 추가하고,딸을 와이프로 변경하여 깃에 새로운 버전을 하나더 만들어 보겠습니다.

그리고 git log를 통해 어떻게 나오는지 확인해 봅시다.

git add -A
git commit -m "할머니 추가 및 와이프로 변경"
git log

이런식으로 log가 나오는 것을 볼 수 있습니다.

 

근데 이전 데이터로 이전하고 싶어졌습니다. (회사에서 개발하다가 잘못 꼬였을 경우)

이때는 git revert 와 git reset이 있습니다. 

git revert & git reset

git revert는 그 당시 작업한 내용을 되돌리기를 해주는 것이고

git reset은 그 당시 작업으로 완전 이전을 해주는 것입니다.

먼저 git revert를 통해서 이전으로 되돌리기를 해보겠습니다.

git revert {commit의 태그 앞에서 6자}

이렇게 입력을 하면 할머니 파일과 와이프 파일가 사라지고 딸 파일이 있는 것을 볼수있습니다.

또한 git log를 하면 

log정보에도 revert한 기록이 남은 것을 볼수있죠 이렇게 이전으로 이동하여 다시 작업을 할수도있습니다.

하지만 현재 작업이 필요없이 이전으로가겠다면 git reset을 이용하면 좋습니다.

이번에는 git reset을 이용해보겠습니다.

git reset --hard {commit의 태그 앞에서 6자}

저는 맨처음에 작업했던 곳으로 reset을 시켰습니다. 로그도 확인해 봅시다

로그 정보에도 1개만 나오는 것을 볼수있죠! 이렇게 이전에 작업한것들은 싹다 삭제 된것을 볼수있습니다.

여기까지만 한다면 깃을 이용하여 버전 관리를 하며 이전의 버전으로 이전하는 등의 작업을 할수있을겁니다.

 

하지만 작업을 하다보면 여러가지 시도를 하며 진행하고 싶을때가 있는데 이럴경우는 어떻게 해야할지 다음 게시글에서 추가적으로 작성하겠습니다.

다음에는 branch, checkout, merge에 대해 추가적으로 설명해 드리겠습니다.

이후에는 github를 활용하여 push, pull, pull request 까지의 설명드리겠습니다.