Hi there!

I am a student studying computer science.

PnP/Git

Git, Github 시작하기-5

만능성구 2022. 3. 30. 20:59
728x90
  • amend: 마지막 커밋 메시지를 수정해야할 때

tjddl@5I1SE1O-H16 MINGW64 ~/Workspace/gitTraining (main)
$ git add main-page.txt

tjddl@5I1SE1O-H16 MINGW64 ~/Workspace/gitTraining (main)
$ git commit -m "매인 패이지 기능 추가"
[main c4fcf9a] 매인 패이지 기능 추가
 1 file changed, 7 insertions(+), 1 deletion(-)

tjddl@5I1SE1O-H16 MINGW64 ~/Workspace/gitTraining (main)
$ git commit --amend

이렇게 commit message를 잘못 입력햇을 경우 —amend를 붙여주면 아래처럼 이전 commit 메시지를 열어줘서 수정할 수 있다.

tjddl@5I1SE1O-H16 MINGW64 ~/Workspace/gitTraining (main)
$ git commit --amend -m "메인 페이지 기능 추가"

$ git add newfile
$ git commit --amend --no-edit

이렇게 -m 옵션을 추가해서 바로 옆에 있는 텍스트를 커밋 메시지 만들 수 있다.

그리고 이전 커밋에 하나를 빠뜨렸다면 add 하고 —no-edit 하면 앞에 커밋에 추가할 수 있다.

  • cherry-pick

빨간색 점이 v1로 latest에 병합되었는데 노란색 커밋에 해당하는 기능은 v1에 꼭 필요한 기능이어서 노란색만 쏙 빼서 latest에 반영할 때 쓰는 것이 cherry-pick이다.

latest 브랜치가 출시를 하는 곳이고 master가 개발된 상태를 합쳐놓은 브랜치이다.

이상태에서 출시를 해서 latest에 출시했다고 하고 해보자

그리고 추가로 main에 커밋을 해서 그중 중간에 것을 하나만 뽑아서 latest에 붙여봅시다

tjddl@5I1SE1O-H16 MINGW64 ~/Workspace/gitTraining (main)
$ git add activity-page.txt 

tjddl@5I1SE1O-H16 MINGW64 ~/Workspace/gitTraining (main)
$ git commit -m "activity 정렬 기능 추가"
[main c08fede] activity 정렬 기능 추가
 1 file changed, 2 insertions(+)      

tjddl@5I1SE1O-H16 MINGW64 ~/Workspace/gitTraining (main)
$ git add member-page.txt 

tjddl@5I1SE1O-H16 MINGW64 ~/Workspace/gitTraining (main)
$ git commit -m "member 내용 추가"
[main 4a3f81d] member 내용 추가 
 1 file changed, 4 insertions(+)

tjddl@5I1SE1O-H16 MINGW64 ~/Workspace/gitTraining (main)
$ git add activity-page.txt

tjddl@5I1SE1O-H16 MINGW64 ~/Workspace/gitTraining (main)
$ git commit -m "activity 정렬 기준 선택 추가"
[main f7a629c] activity 정렬 기준 선택 추가    
 1 file changed, 2 insertions(+), 1 deletion(-)

이렇게 3개의 파일을 추가했는데 이전에 member페이지를 만든줄 알았는데 member 페이지가 비어있었다. 이것은 latest에 반영해야한다.

latest에 main에서 member내용 추가 부분만 추가해주겠다. latest로 체크아웃해서 graph를 보면 아래와 같이 cherry pick 을 할 수 있다.

tjddl@5I1SE1O-H16 MINGW64 ~/Workspace/gitTraining (main)
$ git checkout latest

tjddl@5I1SE1O-H16 MINGW64 ~/Workspace/gitTraining (latest)

터미널에서 cli로 하려면 main의 로그를 확인하고 해당 커밋의 해쉬값을 가져온다. 그리고 그 coomit 을 cherry pick 해준다.

tjddl@5I1SE1O-H16 MINGW64 ~/Workspace/gitTraining (latest)
$ git log main
commit f7a629cb039beba649c9d9fe716b41d08f3a23ff (main)
Author: SeongilHeo <tjddlf101@gmail.com>
Date:   Thu Sep 9 22:54:07 2021 +0900

    activity 정렬 기준 선택 추가

commit 4a3f81df8ef4b9a41b79e81338717afd1b22e29f
Author: SeongilHeo <tjddlf101@gmail.com>
Date:   Thu Sep 9 22:52:56 2021 +0900

    member 내용 추가

commit c08fede7094af51011181caa439a303c791f11ec
Author: SeongilHeo <tjddlf101@gmail.com>
Date:   Thu Sep 9 22:52:09 2021 +0900

    activity 정렬 기능 추가

commit 1ac4b7f7fc4093355a6152bd4b9c41b5ea81e480 (HEAD -> latest)
Author: SeongilHeo <tjddlf101@gmail.com>
Date:   Thu Sep 9 22:20:55 2021 +0900

    메인 페이이지 기능 추가
tjddl@5I1SE1O-H16 MINGW64 ~/Workspace/gitTraining (latest)
$ git cherry-pick 4a3f81df8ef4b9a41b79e81338717afd1b22e29f
[latest 603b35c] member 내용 추가
 Date: Thu Sep 9 22:52:56 2021 +0900
 1 file changed, 4 insertions(+)

이렇게 적용된 것을 확인할 수 있다.

오늘은 여기까지..

다음에 또 추가하겠습니다...

728x90

'PnP > Git' 카테고리의 다른 글

Git, Github 시작하기-4  (1) 2021.10.28
Git, Github 시작하기-3  (0) 2021.10.26
Git, GitHub 시작하기-2  (0) 2021.10.19
Git, GitHub 시작하기-1  (0) 2021.10.19
Github commit  (0) 2021.06.29