Git, Github 사용법 정리

박진우·2023년 4월 19일
0

Git은 개인 컴퓨터에서만 사용하는 자신이 작성한 파일이나 코드 등을 저장하는 버전 관리 시스템이다. 인터넷에 연결하지 않아 타인과 코드를 공유하는 것은 불가능하다.
Github는 Git 시스템을 관리하는 온라인 저장소같은 개념이다. Github는 인터넷에 연결하기에 타인과 코드를 공유하거나 프로젝트를 진행할 수 있고, Git에서 버전 관리한 파일을 업로드할 수 있다.
Git은 사용자 PC의 명령 프롬프트(cmd)에서 사용할 수 있는데, git이라는 명령어로 사용한다.
이 둘을 사용하기 위해서는 레포지토리(repository)라는 개념을 알아야 하는데, 레포지토리도 저장소와 같은 개념이다. 이는 로컬(local) 레포지토리와 원격(remote) 레포지토리로 나뉘게 된다. 로컬 레포지토리는 말 그대로 사용자의 컴퓨터에 저장되는 저장소로, 로컬 레포지토리를 거쳐야 원격 레포지토리에 업로드될 수 있다.
타 저장소와 구분되는 Git의 장점으로 브랜치(branch)가 있다. 브랜치란 간단하게 작업 영역이라고 말할 수 있다. Git 활성화를 처음 했을 때 main이라는 브랜치 하나가 기본적으로 생성되는데, 예시를 위해 추가적으로 GraphicPatch, SoundPatch라는 브랜치를 생성했다고 가정하자. 이 브랜치들에서는 독립적으로 버전 관리가 따로 가능하며, GraphicPatch와 SoundPatch에서 각각 그래픽과 사운드 성능 향상 패치를 진행하고 이름 main 브랜치에 적용시켜 합치는 것이 가능하다. 패치가 제대로 진행되지 않더라도 main은 그대로 남아있으니 다시 원본 파일을 복사하여 작업할 수 있다.

Git 명령어:

모든 Git 관련 명령어 앞에는 git 이라는 접두사가 붙는 것으로 간주하며, 이하에서는 이를 생략한다. 설명의 맨 끝에는 명령어 사용 예시를 표시한다.
init : 현재 cmd에서 가리키는 디렉토리에 .git 폴더를 만들며, 이 폴더는 Git 저장소를 관리하는 데 사용된다. Git을 사용하기 위해서는 이 명령어를 자신이 코드를 작성하는 폴더에서 입력해 주어야 한다.
git init

add : 옵션으로 파일이나 디렉토리를 받으며, 파일을 받았다면 그 파일을, 디렉토리를 받았다면 디렉토리 안에 있는 모든 파일을 스테이징 영역에 업로드한다. 스테이징 영역은 로컬 레포지토리와 현재 경로 사이의 공간이다.
git add main.c

checkout : 옵션으로 브랜치를 받아 해당하는 브랜치로 변경한다.
git checkout GraphicPatch

status : 현재 브랜치의 스테이징 영역의 상태를 보여준다. add로 추가된 파일이나, 추가된 후 수정된 파일이 있으면 표시한다. 표시되는 파일이 있으면 브랜치를 변경할 수 없다.
git status

commit : 스테이징 영역에 있는 스냅샷을 로컬 레포지토리에 업로드한다. 업로드 이후에 스테이징 영역에 있던 스냅샷은 없어진다. -m 옵션을 붙여 메시지를 첨부할 수 있다.
git commit main.c -m "Update"

push : 로컬 레포지토리에 있는 스냅샷을 원격 레포지토리(Github)에 업로드한다. 인터넷을 필요로 하며, Github 계정 또한 연결해야 한다.
git push

profile
SRIHS Infosec

0개의 댓글