Git을 처음부터 설치하고 사용하는 방법을 알아보자. 아래 과정을 이용하면 로컬 PC에서 수정하고, 수정된 내용을 Github 저장소로 연동할 수 있다. 본 글은 자세한 내용보다 Github을 사용해 본 입문자 눈높이로 간단하게 설명한다.
Git Bash 설치
먼저 Git을 다운로드 받아야한다.
설치 파일을 다운받아 실행 후, 계속 Next를 누르면 설치가 완료된다.
Github 계정과 연동
Git Bash를 열고 Github에 등록된 사용자 이름과 이메일을 등록한다.
$ git config --global user.name "이름"
$ git config --global user.email 이메일
다음으로 SSH 키를 생성한다. SSH 키는 Github 계정 연동을 위한 인증절차다.
$ ssh-keygen
ssh-keygen을 입력하면 아래에 "Enter passphrase"라는 문구가 나오는데 무시하고 엔터를 누르면 된다. 그럼 C:/User/사용자/.ssh에 id_rsa.pub라는 파일이 생성된다. 메모장으로 파일을 열고 내용을 모두 복사해 Github에 등록해주어야 한다.
Github 설정 > SSH and GPG keys > New SSH Key를 클릭해 복사했던 키(id_rsa.pub)를 붙여넣는다. Title은 자유롭게 설정하면 된다.
이제 Git Bash를 이용해 Github을 조작할 준비가 되었다.
Github 저장소 복제
Github 저장소를 내려받을 폴더로 이동해 Git bash를 실행한 뒤, clone 명령어를 통해 저장소를 복제한다.
$ git clone git@github.com:이름/저장소.git
"git@github.com: ..." 부분은 저장소 Code > Clone SSH에서 복사할 수 있다. 참고로 Bash에서 붙여넣기는 Shift + Insert다.
이제 로컬 파일을 수정하고, 수정한 내용을 Github으로 동기화할 수 있다. PC에 Github 저장소의 클론이 생긴 셈이다.
Git bash로 커밋하기
파일이 수정되었다면 아래와 같이 순서대로 입력한다.
$ git add .
$ git commit -m "커밋 메시지"
$ git push
add .는 변경한 모든 내용을 저장한다.
commit은 add한 내용을 읽고 메모를 남긴다. commit -m 뒤에 오는 텍스트는 업데이트 내용에 대해 자유롭게 남길 수 있다.
push는 위 내용을 Gitbub 저장소로 보낸다. Github에 가면 내용이 변경된 것을 확인할 수 있다.
커밋 되돌리기
잘못된 커밋이 있을 때 이전 커밋으로 되돌릴 수 있다.
먼저, log로 커밋을 조회해보자.
$ git log
commit f57725642e6b3270e35a49cd7aac7a9bf89cb1ed (HEAD -> main, origin/main, origin/HEAD)
Author: ...
Date: ...
커밋A
commit 24c8129f7c5b5be004da58fb895c5ac146dc7b6c
Author: ...
Date: ...
커밋B
commit d072ddd12de71dac084e9f5f92e25c7da113de86
Author: ...
Date: ...
커밋C
최근 커밋 메시지가 보이고 Enter를 누르면 이전 커밋이 계속 나타난다. 원하는 커밋을 찾았다면 q를 눌러 조회를 종료한다. 위에 보이는 복잡한 문자열이 해시 값이다. 이 값을 이용해 커밋을 지우는 reset 요청을 한다.
$ git reset --hard 해시값
예를 들어, 위 예시에서 "git reset --hard d072ddd..."를 한다면 코드는 커밋C 상태로 돌아가고 커밋A와 커밋B는 흔적없이 사라진다.
* 참고로 bash에서 복사는 Ctrl + Insert, 붙여넣기는 Shift + Insert다.
커밋을 되돌렸으면 Github에도 변경된 내용을 push하자.
$ git push -f origin main