Git 기본 플로우 이해 - (3) commit 생성
728x90

안녕하세요 코드프레소 Java 웹 개발 체험단 활동 중인 핑솔입니다~!

코드프레소의 'Git 기본 플로우' 강의를 토대로 정리하였습니다.


Commit 생성

1. 스테이징 영역에 추가 - git add

2. 의미 있는 변경이면 커밋 생성 - git commit

인라인으로 커밋을 생성합니다.

git commit -m "Commit 2 for TestService"

git add, git commit -m

 

커밋 히스토리 확인 - git log

git log를 통해 commit이 제대로 되었는지 확인

참고 사항! -> Git 명령어 옵션 정보 확인

git log --help

명령어 뒤에 --help 옵션을 입력하면 웹 브라우저를 통해 해당 명령어의 매뉴얼 페이지가 실행됩니다.

git log --help 입력하면 나타나는 페이지

커밋 히스토리 관련 옵션

  • 해당 커밋의 내용과 git diff의 결과를 볼 수 있습니다. (전체 커밋 대상)
git log -u
  • 커밋 아이디를 적어주면 해당 커밋에 대한 내용만 볼 수 있습니다.
git log -u 'commit ID'
  • log 뒤의 숫자는 최신 커밋을 최대 몇 개까지 보여줄 것인지를 말합니다.
git log -1
git log -2
  • 커밋 히스토리를 볼 때 변경된 파일 이름까지 보입니다
git log --name-only
  • 커밋을 간결하게 한 줄로 표현합니다. (커밋이 많거나 매우 빠르고 간결하게 보고 싶을 때 씁니다.)
git log --oneline
  • git log -u 'commit ID'와 같은 내용이 나옵니다.
git show 'commit ID'

커밋 되돌리기

이미 커밋을 만들었는데,

  1. 커밋의 메시지를 변경하고 싶습니다.
  2. 커밋에 추가할 변경점이 있습니다.

이 때 커밋을 되돌려야합니다.

1) 커밋 메시지를 변경하고 싶을 때

git commit --amend

마지막 반영한 최신 커밋 메시지를 변경하고 싶을 때 최신 커밋 수정 가능한 에디터가 실행됩니다.

git commit --amend 명령어를 치면 최근 커밋 메시지인 'Commit 2 for TestService'를 'Commit 2-2 for TestService'로 변경할 수 있습니다.

하지만 주의할 점은 되돌린 commit message는 복구가 불가능합니다.


2) 커밋에 추가할 변경점이 있을 때

  • 파일을 수정 후, 스테이징 영역에 추가
  • git commit --amend 명령어로 커밋 생성
vi AmendService.java
git add AmendService.java
git commit --amend

AmendService.java를 추가하고 변경하여 커밋하였다.
최근 commit ID 복사하여 git show 명령어에 사용하니 파일이 변경된 것도 볼 수 있다.


이미 커밋을 만들었는데,

  • 커밋 히스토리를 유지하면서 내용만 롤백하는 경우
  • 히스토리 관리가 매우 중요한 실무에서 주로 사용됩니다.
git revert

Git에서는 "코드를 원복한다." = "반영한 특정 코드(변경점)를 제거한다." = "변경을 취소한다." = "반영한 커밋을 되돌린다." = "반영한 커밋을 revert 시키다."

Git에서는 원복의 단위가 커밋입니다.

git revert '마지막에 반영한 commit ID"

명령어 치고 바로 저장.

커밋의 기록은 남지만 AmendService.java파일은 deleted 되었습니다.

왜냐하면 두번째 커밋이 원복되었기 때문입니다.

ls -la로 AmendService.java가 없는걸 확인할 수 있습니다.

다음 게시물에서는 원격게시물에서 커밋을 반영하는 방법을 알아보도록 하겠습니다!

go go~!

코드프레소 URL: https://www.codepresso.kr/

 

프리미엄 IT 교육 서비스 - 코드프레소

 

www.codepresso.kr

 

728x90
반응형