Git 개요

고재석·2021년 2월 22일
0

버전관리?

팀 프로젝트에서 코드를 작성하고 이를 다른 팀원과 공유하는 과정에서 내 코드를 반영하기 전후로 버전을 나누어서 관리한다. 이를 버전관리라고 하는데, 팀 프로젝트에 참여하는 인원이 많아질수록 어떤 코드가 어떤 시점에 반영되었는지 확인하기가 어려워진다. 따라서 많은 사람이 참여하는 프로젝트일수록 버전 관리가 필수적이다.


Git, Github?

Git은 내가 원하는 시점으로 소스코드를 되돌리거나 새로운 소스코드를 추가, 삭제할 수 있도록 하는 등의 기능을 제공하는 소스코드 버전 관리 시스템 중 하나이다. 대부분의 개발자들이 이 Git을 사용해서 협업하고 있다.

또한 Git은 내가 어디에 있든 내가 접속할 수 있는 곳에 소스코드가 있다면 개발을 할 수 있다. 이를 가능케 해주는 대표적인 Git 호스팅 사이트가 Github이다.

Github에 소스코드를 올려두면 시간, 공간의 제약없이 협업할 수 있다. 또한 공개저장소로 프로젝트를 만들어 누구나 기여할 수 있는 오픈소스를 제공하기도 한다.


로컬저장소 만들기

로컬저장소는 내 PC에 Git과 연동해 진행할 프로젝트를 저장해두는 곳을 의미한다.

우선 로컬저장소로 활용할 폴더에서 Git Bash를 먼저 열고 git init 명령어로 초기화를 실시한다. 숨김 폴더로 .git이라는 폴더가 생성되는데 이 .git을 로컬저장소라고 한다.


커밋 만들기

만들어둔 로컬저장소에 테스트용 텍스트파일을 하나 만든다. 그리고 git bash에서 git status 명령어로 현재 상태를 확인하면,

이렇게 Untracked files에 Test.txt가 올라와있다. 말 그대로 추적되지 않은 파일이라는 뜻인데, Git이 관리하는 소스코드 버전에서 찾을 수 없는, 반영되지 않은 파일이라는 뜻이다.

Git이 관리하는 소스코드 버전에 새로운 버전으로 코드를 반영하는 것을 커밋이라고 하는데, 이 커밋을 하기 전에 커밋할 파일들의 리스트에 파일을 올리는 과정이 필요하다.

git add Test.txt 명령어를 입력해서 커밋 리스트에 Untracked file을 추가시켜보자.

add 명령어를 실행하니 이렇게 Untracked file이 Changes to be committed로 바뀌었다. 직역으로 커밋될 변화들이라는 뜻으로 아직 커밋은 안되었지만 Git이 인지하고 있는 변화이다. 다음 커밋에서는 이 변화들이 반영되서 새로운 버전이 생긴다.

그럼 커밋을 해보자. git commit -m "[커밋 코멘트]" 명령어로 커밋을 하면 된다.


원격저장소 만들어서 커밋 올리기

우선 Github에 연습용 레파지토리를 하나 만든다. (설명 생략)

내 PC에 만들어놓은 로컬저장소에 원격저장소 주소를 알려줘야한다. origin이라는 이름으로 원격저장소 주소를 등록한다. 명령어는 git remote add origin [레파지토리 주소]이다.

git remote 명령어로 어떤 원격저장소가 있는지 알 수 있다. 당연하게도 origin만 나온다.

지금 Test.txt 만들어서 커밋된 버전을 원격저장소에도 그대로 반영하고 싶다. 현재 원격저장소에는 아무것도 들어있지 않은 상태이기에 내 로컬저장소의 버전을 원격저장소에 전해준다면 원격저장소에 Test.txt가 생길 것이다. 필요한 명령어는 git push origin master이다.


원격저장소의 커밋을 로컬저장소로 내리기

원격저장소에는 Test.txt만 존재하고 있는데 여기서 README.md 파일을 추가해보자. 원격저장소에서는 README.md가 추가된 버전으로 새로운 커밋이 생겼다.

이를 로컬저장소에도 반영시키고 싶다. 이 때 필요한 명령어는 git pull origin master이다. 해당 명령어를 실행하면 로컬저장소에도 README.md 파일이 생성됨을 확인할 수 있다.

profile
명확하게 말하고, 꼼꼼하게 개발하자

0개의 댓글