개요
이번주부터 임베디드 과목, 팀플을 하게 되었다. 졸업 작품 만드는 과정에서도, git은 사용하고 있지만. 이번 기회에 조금 더 효과적으로 사용해보기 위해서, 여러 가지 자료를 찾아 정리하던중 reset revert에 대해서 정리하게 되었다.
git reset & revert
git에서 잘못된 커밋을 한 경우, 수정하기 위해 사용하는 command.
reset
사용시, 지정 커밋들이 삭제되어. 그 이전 커밋 상태로 돌아간다.
command
git reset --soft [commit ID]
// 해당 커밋들이 staging area로 이동(commit 전 상태)
git reset --mixed [commit ID]
// (default) commit된 파일들을 working directory로 이동(add 전 상태)
git reset --hard [commit ID]
// commit된 파일들 중 tracked 파일들을 working directory에서 삭제
git reset HEAD~n
// n번째 커밋까지 reset
git reset HEAD^
// 가장 최근 커밋 reset
주의사항
앞서 개요에서 작성했듯이. reset의 경우, 기존 커밋 이력이 삭제되므로 origin에서 conflict이 난다.
따라서, 팀 플레이에서는 사용하지 않는다.
revert
사용시, 지정 커밋은 이력이 남은 상태로. 지정 커밋의 삭제 커밋을 남기고 그 이전 커밋 상태로 돌아간다.
command
git revert [commit ID]
// 해당 커밋 전으로 돌아간다.
Reference
pearl.log : [Git] reset과 revert 알고 사용하기
기억보단 기록을 : git reset, revert로 이전 커밋으로 돌리기
'프로그래밍 > Github' 카테고리의 다른 글
[Github] Pull Reqeust 하는 방법 (0) | 2023.09.26 |
---|---|
[Github] 커밋 날짜 변경하는 방법 (1) | 2023.03.08 |
[Github] .DS_Store 파일 삭제하는 방법 (0) | 2023.03.02 |
[CS/github].gitignoreは (0) | 2023.02.24 |
[CS/github]github Flow (6) | 2023.02.24 |