1. 버전 관리
프로그램을 개발, 특히 팀 단위로 개발하다 보면 버전 관리가 상당히 중요해진다. 따로 만든 코드를 합치거나, 서로의 코드를 수정하는 등 다양하고 복잡한 작업들을 하다 보면 코드들이 구분이 안되거나, 오류를 되돌릴 수 없어지기 때문이다.
대표적인 버전 관리 시스템이 Git이다. 그리고 Git을 호스팅해주는 사이트가 바로 Github이다.
추후의 협업 프로젝트들을 위해 Git에 대해 공부하고자 한다.
아래 내용을 위해선 Github.com의 가입과 git bash의 설치가 필요하다.
2. 로컬 저장소
일단 내 컴퓨터 내에서만 버전 관리를 한다고 생각하고 로컬저장소에서 버전 관리를 해보겠다.
먼저 git bash를 실행해 'git'이라는 명령어를 실행해 기본 명령어에 대한 안내가 나오는 지 확인한다.
제대로 뜬다면 git bash가 올바르게 설치된 것이다.
1) 로컬 저장소 만들기
먼저 git과 연결할 로컬저장소를 만들어 보자. 일반적인 폴더를 만들듯이 폴더를 생성한다. 포스트에선 'example'로 설명하겠다. 생성한 폴더 내에 텍스트 문서를 생성해 아무 내용이나 적고서 'README.txt'로 저장한다.
이후 example 폴더를 우클릭해 git bash here을 클릭한다.
이 중 폴더만들기와 git bash here은 git bash 상에서 커맨드로도 가능하다.
#폴더 만들기
mkdir (폴더이름)
#git bash here (example 폴더 바탕화면에 있다고 가정)
cd Desktop/example
이후에
git init
명령어를 통해 example 폴더 내에 .git 폴더를 생성할 수 있다. 이를 로컬 저장소라 한다.
2) 커밋하기
버전 관리에서는 게임에서 세이브파일을 저장하듯 버전을 수시로 저장하여 원할 때 그 상태로 돌아갈 수 있다.
이때 저장과 같은 기능이 커밋(Commit)이다. 커밋하려는 파일을 add라는 명령어를 통해 선택할 수 있다. add 뒤에 커밋하려는 파일명을 적으면 된다. 폴더 내 모든 것을 커밋하려 할 시 "git add ."와 같이 적으면 된다.
git add README.txt
이제 실제로 커밋을 할 것인데, 보통 커밋메시지를 함께 작성한다. 게임에서 세이브파일을 알아볼 수 있도록 제목이나 번호를 달 듯, 설명을 적어 추후에 구분할 수 있게 하기 위함이다.
git commit -m "원하는 설명"
'1 file changed, 1 insertion'과 같은 문구가 보이면 커밋이 성공한 것이다.
이제 README.txt 파일을 열어 아까랑 다르게 수정한 뒤에 저장해보자. 파일의 버전이 달라진 것이다.
다시 한번 같이 add, commit -m 명령어를 이용해 커밋을 하여 두번째 커밋을 할 수 있다.
3) Checkout으로 커밋 돌아가기
git log
git bash에서 log를 통해 그동안의 커밋 내용들을 확인할 수 있다.
1 , 2 는 각각 커밋의 커밋메세지이다. 일련번호같은 것이 각 커밋의 커밋아이디이다. 이제 해당 커밋으로 돌아가 보겠다.
git checkout (원하는 커밋의 아이디)
아이디는 전체를 복사해도, 앞 7자리를 복사해도 무관하다.
'Head is now at (아이디)'같이 나오면 성공이다. 텍스트 파일이 예전처럼 돌아간 것을 확인할 수 있을 것이다.
checkout 시 아이디 대신 - 을 사용하면 가장 최근의 커밋으로 갈 수 있다.
'대딩 기록(~22.01) > Git & Github 공부노트' 카테고리의 다른 글
[Git] 풀 리퀘스트와 포크 (pull request, fork) (0) | 2021.07.31 |
---|---|
[Git] 브랜치와 머지(merge) (0) | 2021.07.31 |
[Git] 레포지토리와 푸시,클론,풀(push,clone,pull) (0) | 2021.07.29 |