■ amend
개발해서 커밋을 만들었는데, 추가할 파일이 있다는 걸 늦게 알았다. 커밋을 수정하기 위해서 사용하는 명령어
-> 수정 못한 파일이 있는데 방금 만든 커밋에 추가하고 싶다.
1) git commit --amend : 메시지를 수정
vi 편집이 켜지면 수정하고 git log로 변경사항 확인
2) git commit --amend -m : 메시지 수정 화면을 통해 잘못된 메시지를 수정할 수 있지만, 커밋 메시지를 바로 수정
git log로 변경 되었는지 확인
■ cherry-pick
깃허브를 통해 형상관리를 수행하며 개발하다보면, 실수로 커밋을 다른 브랜치에 하게 되어 문제가 발생하는 경우가 있다.
(예시: A브랜치에 커밋해야할 걸 B브랜치에 한 것) 이럴 때 체리픽 사용
-> 다른 브랜치에 커밋 된 내역을 commit ID를 통해 내가 원하는 브랜치로 복사
-> 같은 내용을 가지고 있는 커밋을 여러개 생성하기 때문에 꼭 사용할 때만 사용
feature/a 브랜치의 커밋 중 23tu876와 102jzztg2를 현재 main 브랜치에서 적용한다고 예를 들자.
1) git cherry-pick
2) git cherry-pick 23tu876
3) git cherry-pick 102jzztg2
4) git cherry-pick 23tu876 102jzztg2
cherry-pick하려는 커밋과 내 브랜치 사이에 confilct 발생 할 수 있다.
1. conflict를 해결하고 cherry-pick 진행
- git add <path> 명령어로 수정된 코드를 올린다. (커밋은 할 필요 X)
- git cherry-pick --contiune 명령어를 사용하면 다시 시작 됨
2. cherry-pick 중단
- git cherry-pick --abort : cherry-pick을 하기 전 상태로 돌아감
'Git' 카테고리의 다른 글
[Git] reset, revert, stash (0) | 2025.03.09 |
---|---|
[Git] 커밋 관리 및 git push, git pull (0) | 2025.01.27 |