IT recording...
[Opensource_git] 08. 복귀 본문
[원문링크]
https://adorable-aspen-d23.notion.site/OpenSrc_Git_08_-ebd98d40497a4e0ebf5b29b11f47e239
[2021 - 1학기 수강한 오픈소스SW입문 강의 정리본입니다.]
복귀
1. 되돌리기
- reset X
- revert O
- (원격 저장소 공유 여부)
2. Reset
- 커밋을 기준으로 이전 코드로 되돌리는 것, 기록한 커밋을 취소함
- 개인 프로젝트 관리시 많이 사용
git reset 옵션 커밋ID
//옵션
1) soft : 스테이지 영역을 포함한 상태로 복원함
git reset --soft HEAD~ //이전 커밋으로 리셋
2) mixed : 워킹 디렉토리 영역만 포함한 상태로 복원
git reset --mixed 커밋ID
git reset 커밋ID
3) hard : 아예 싹 다 없애기
git reset --hard HEAD~
–soft : index 보존(add한 상태, staged 상태), 워킹 디렉터리의 파일 보존. 즉 모두 보존.
–mixed : index 취소(add하기 전 상태, unstaged 상태), 워킹 디렉터리의 파일 보존 (기본 옵션)
–hard : index 취소(add하기 전 상태, unstaged 상태), 워킹 디렉터리의 파일 삭제. 즉 모두 취소.
- reset으로 커밋 합치기
git reset --soft HEAD~2
git commit -m "두 단계 커밋 합치기"
>> 합쳐진 New 커밋이 생성된다
- 기타
// stage > unstage
git reset 파일이름
git reset 커밋ID 파일이름
//병합 취소(--merge 옵션)
git reset --merge HEAD~ //이전 커밋 취소
3. Revert
- 기존 커밋을 남겨두고 새로운 커밋을 생성함
- 저장소 공개 시 사용
- 커밋 이력 복잡
git revert 커밋ID
//범위 지정 연산자(..) 사용해서 여러 커밋 리버트 가능
git revert 커밋1 .. 커밋5
- 리셋은 방금 전 실행한 병합만 삭제하지만 / 리버트는 시간이 지난 후에도 과거의 병합을 선택하여 취소 가능
//기준 커밋 라인(왼쪽부터 1)
git revert --mainline 숫자 병합커밋ID
'Git' 카테고리의 다른 글
[Opensource_git] 07. 병합과 충돌 (0) | 2022.02.17 |
---|---|
[Opensource_git] 06. 브랜치 (0) | 2022.02.17 |
[Opensource_git] 05. 원격저장소 (0) | 2022.02.17 |
[Opensource_git] 04. 커밋 (0) | 2022.02.17 |
[Opensource_git] 03. 깃 개념잡기 (0) | 2022.02.17 |
Comments