본문 바로가기

카테고리 없음

[Git] Git과 GitHub

Git은 분산 버전 관리 시스템입니다. 버전 관리란 파일의 변경 사항을 시점마다 기록해서 나중에 특정 시점의 버전을 다시 불러올 수 있는 시스템입니다. 쉽게 이야기하면 깃은 코드 변경 사항을 추적해주는 프로그램입니다.

 

깃을 사용하지 않는다면 아마 아래 사진처럼 파일을 관리하게 될 겁니다. 모두 경험해봐서 알겠지만 이렇게 관리를 하다 보면 결국에는 관리를 포기하게 됩니다. 어느 파일이 최종본인지, 어떤 부분이 변경된 것인지 파악하기 너무 어렵기 때문입니다.

 

 

깃을 사용하면 이런 문제를 겪을 필요가 없습니다. 버전 관리를 하기 때문에 ①변경 이력을 확인할 수 있고  ②특정 시점의 버전으로 돌아갈 수도 있기 때문입니다.

 

깃의 또 다른 장점은 바로 협업 기능입니다. 깃을 이용하면 여러 개발자들이 작업한 코드를 합쳐서 하나의 프로그램을 만들 수 있습니다.

 

Network graph

 

git 설치하기 (Mac)

Homebrew가 설치되어 있다면 손쉽게 git을 설치할 수 있습니다. brew install git을 입력하고 실행하면 설치가 시작됩니다.

 

 

 

git이 잘 설치되었는지 확인하려면 git이라 쓰고 실행해보면 됩니다. git 사용법이 출력되면 잘 설치가 된 겁니다.

 

 

깃허브란 (깃과 깃허브가 같은 건가요?)

깃을 이용하면 다른 컴퓨터에 저장할 수도 있습니다. 이 다른 컴퓨터를 원격 저장소(Remote Repository)라 합니다. 다른 컴퓨터는 여러 가지가 될 수 있지만 가장 대표적으로 사용되는 것이 바로 깃허브입니다. 깃으로 관리하는 프로젝트를 깃허브에 올려둘 수 있습니다.

 

Git & GitHub

 

한 줄 정리

 

깃(Git): 분산 버전 관리 시스템

깃허브(GitHub): 깃으로 관리하는 프로젝트를 저장할 수 있는 원격 저장소(Remote Repository)를 제공해주는 서비스

 

 

git 명령어

 

· git init: 현재 디렉토리를 git이 관리하는 working directory로 설정하고 레포지토리(.git 디렉토리)를 생성함

 

· git config --global user.name "사용자 이름": 전역 사용자 등록

 

· git config --global user.email "사용자 이메일": 전역 사용자 이메일 등록

 

· git add 파일명: 변경사항이 있는 특정 파일을 staging area에 올림

 

· git add .: working directory 안에 변경사항이 있는 모든 파일들을 staging area에 올림

 

· git reset 파일명: staging area에 올렸던 파일을 내림

 

· git status: working directory 관련 내용 출력

 

· git commit -m "커밋 메시지": staging area에 올려진 것들을 커밋

 

· git remote add origin URL: 원격 저장소를 추가함

 

· git push origin master: 원격 저장소에 업로드

 

· git branch 브랜치명: 새로운 브랜치를 생성

 

· git checkout 브랜치명: 사용할 브랜치로 이동

 

· git push origin 브랜치명: 브랜치를 원격 저장소에 생성 및 추가

 

· git branch -a: 존재하는 모든 브랜치의 정보를 보여줌