1. git cherry-pick : 다른 작업 브랜치의 commit을 작업 브랜치에 추가
git cherry-pick <추가하려는 commit 체크섬>
cherry-pick은 commit을 생성한 후 현재 작업 브랜치가 잘못됐다는 것을 발견했을 때, 운영에서 에러가 났는데 해당 문제를 해결할 수 있는 코드가 다른 브랜치에 있을 경우 해당 commit을 가져올 때 등 사용합니다.
** 만약 cherry-pick 과정 중 충돌이 날 경우 충돌이 난 파일을 수정합니다. 완료된다면 해당 명령어들을 실행해 작업을 완료하면 됩니다.
git add .
git cherry-pick --continue
충돌이 나서 해당 작업을 중단한다면 해당 명령어를 실행합니다.
git cherry-pick --abort
2. git reset : 이미 생성된 commit들을 취소하고, 이전 commit으로 최종 commit 변경
reset은 기능이 변경되어 일부 기능을 제외할 때 사용합니다.
git reset <이전 commit 체크섬>
- 옵션 --hard : 어떤 이력도 지우고 이전 commit으로 돌아갈 때 사용합니다.
- 옵션 --mixed : 작업상태는 작업 디렉터리에 있고 이전 commit으로 돌아갈 때 사용합니다.
- 옵션 --soft : 작업상태는 그대로 스테이지에 있고 이전 commit으로 돌아갈 때 사용합니다.
** 만약 원격저장소에 반영하려면 --force 옵션을 사용해 푸시하면 됩니다. (만약 사용하더라도 반드시 나만 쓰는 브랜치에서만 해야 합니다.)
3. git revert : 변경 사항 되돌리는 commit 생성
이미 생성된 commit을 취소하는 다른 방법으로 reset과의 차이점은 취소하고자 하는 commit의 변경 사항을 되돌리는 새로운 commit이 생성됩니다. 되돌리는 이력도 확인할 수 있어 reset보다 사용을 권장하는 편입니다.
git revert <되돌리려는 commit 체크섬>
git revert <되돌리기 시작할 commit 체크섬>...<되돌려는 commit 체크섬>
'Dev > Git' 카테고리의 다른 글
[GitHub] 8. 태그하는 법 (tag) (0) | 2023.09.03 |
---|---|
[GitHub] 7. 풀 리퀘스트하는 법 (+ fetch, pull) (1) | 2023.09.03 |
[GitHub] 5. 브랜치 생성, 삭제, 병합하는 법 (branch, merge) (0) | 2023.08.23 |
[GitHub] 4. 원격저장소 복제하는 법 (clone, pull) (0) | 2023.08.22 |
[GitHub] 3. commit 생성, 조회, 수정, 푸시하는 법 (0) | 2023.08.22 |
댓글