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)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바