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

2022. 1. 12. 03:47·WEB study/Git, GitLab
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
반응형
저작자표시 (새창열림)

'WEB study > Git, GitLab' 카테고리의 다른 글

Git 브랜치의 이해 (1) - Git 브랜치  (0) 2022.01.17
Git 기본 플로우 이해 - (4) 원격 저장소에 commit 반영하기  (0) 2022.01.13
Git 기본 플로우 이해 (2) - 커밋, 커밋 메시지, 명령어  (0) 2022.01.12
Git 기본 플로우 이해 (1) - git 기본 flow, 상태 명령어, git add  (0) 2022.01.12
Git, GitLab 입문 (4) - GitLab 실습  (1) 2022.01.12
'WEB study/Git, GitLab' 카테고리의 다른 글
  • Git 브랜치의 이해 (1) - Git 브랜치
  • Git 기본 플로우 이해 - (4) 원격 저장소에 commit 반영하기
  • Git 기본 플로우 이해 (2) - 커밋, 커밋 메시지, 명령어
  • Git 기본 플로우 이해 (1) - git 기본 flow, 상태 명령어, git add
pink_salt
pink_salt
유익함을 주는 개발자가 되도록 keep going
  • pink_salt
    KeepGoingForever
    pink_salt
  • 전체
    오늘
    어제
    • 분류 전체보기 (117)
      • Project (7)
      • WEB study (3)
        • WEB(Springboot) (10)
        • Git, GitLab (13)
        • Clean code (1)
        • FrontEnd (3)
      • Study (21)
        • Algorithm (19)
        • 면접 준비 (2)
      • Cloud Computing (2)
        • AWS (2)
      • 프로그래밍 언어 (35)
        • Java (29)
        • Python (0)
        • javascript (6)
      • 운영체제 (0)
        • Linux (0)
      • Database (4)
        • MongoDB (8)
        • SQL (8)
      • 애플리케이션 개발 (1)
        • Android (1)
      • AI (1)
        • Deeplearning (1)
        • machinelearning (0)
      • Daily (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    dp
    자바
    SWEA
    mysql
    Git
    Database
    객체지향
    언어
    codepresso
    무료코딩교육
    코딩이러닝
    개념
    빅오표기법
    Java
    MongoDB
    무료IT교육
    BFS
    티스토리챌린지
    gitlab
    IT교육
    SW
    Query
    대외활동
    오블완
    백준
    git branch
    spring boot
    코딩강의
    python
    코드프레소
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
pink_salt
Git 기본 플로우 이해 - (3) commit 생성
상단으로

티스토리툴바