본문 바로가기
Dev/Git

[GitHub] 3. commit 생성, 조회, 수정, 푸시하는 법

by YummYum 2023. 8. 22.

** commit을 생성하기 전에 각 버전을 누가 만들었는지 알기 위해 내 정보를 미리 등록합니다. 

git config --global user.email "이메일"
git config --global user.name "이름"

 

 

1. commit 생성

파일을 수정 후 git add 명령어로 스테이징 영역에 등록했다면 commit을 생성할 차례입니다. commit 메시지를 간단하게 입력한다면 -m 옵션을 사용합니다.

git commit -m "add .gitignore file"

 

** 만약 좀 더 자세하게 commit 메시지를 작성한다면 git commit 명령어를 실행합니다. 실행하면 현재 commit을 기록하는 브랜치, 어떤 파일에 commit이 추가되는지 알 수 있습니다. 키보드 i를 입력하면 입력모드로 전환되고, commit 메시지를 작성할 수 있습니다. (#은 주석입니다.) 그 후 esc 키를 입력하고 :wq 입력 (저장하고 종료라는 의미)하고 enter 키를 눌러 저장합니다.

 

** 만약 스테이징 영역에 있는 변경사항을 작업 디렉터리에 내릴려면 git reset <파일명> 명령어를 실행합니다.

 

 


 

2. commit 조회

commit 로그를 조회하기 위해서는 git log 명령어를 실행합니다.

** commit 뒤에 있는 문자열은 체크섬으로 commit을 식별하는 고유한 데이터 단위이고, HEAD 포인터는 현재 작업하는 브랜치 중 최종 commit을 가리킵니다. 

 

 

** 이전 commit을 돌아가고 싶다면 git checkout 명령어를 사용하면 됩니다. 다시 최신 commit으로 돌아가고 싶다면 git checkout - 명령어를 실행하면 됩니다.

git checkout <이전 commit 체크섬>

 

 


 

3. commit 수정

commit 작업을 하다 보면 메시지를 잘못 입력했거나, 커밋에 포함되어야 할 파일이 제외된 경우 등이 있습니다.

 

3-1) commit 수정하는 법

git commit --amend -m "Add .gitignore File"

 

** 만약 원격저장소에 푸시한 commit을 수정하려면 수정 후 원격저장소에 git push --force 브랜치명 명령어를 실행합니다.

 

3-2) 파일 추가하는 법 : 파일을 열어 수정한 후 git add 명령어 실행 후 git commit --amend --no-edit 명령어를 실행합니다. 그러면 추가 변경 내용을 기존 commit에 반영할 수 있습니다. (--no-edit 에디터를 띄우지 않고, 메시지를 수정하지 않겠다는 의미입니다.)

git commit --amend --no-edit

 

 


 

3. commit 푸시

이제 푸시를 해보겠습니다. 여기서 푸시한다는 것은 지역저장소에 있는 commit을 원격저장소에 등록한다는 의미입니다.

 

먼저 git remote -v 명령어를 실행해 원격저장소를 확인해 보겠습니다.

 

해당 원격저장소에 지역저장소에 저장된 commit을 git push 명령어로 등록하겠습니다.

# git push [저장소] [브랜치]
git push origin master

 

 

원격저장소(github)에 가면 commit이 등록된 것을 알 수 있습니다.

 

 

** 원격저장소가 등록되어 있지 않다면 git remote add origin 명령어로 등록할 수 있습니다. (origin은 특정 원격저장소를 식별하는 이름입니다. 만약 git remote add origin2 [새로운 원격저장소 주소]를 하면 하나의 지역저장소에 2개의 원격저장소를 등록할 수 있습니다. 푸시를 할 경우 git push origin2 master로 하면 됩니다.)

git remote add origin <원격저장소 주소>

 

댓글