IT recording...

[Opensource_git] 08. 복귀 본문

Git

[Opensource_git] 08. 복귀

I-one 2022. 2. 17. 15:48

[원문링크]

https://adorable-aspen-d23.notion.site/OpenSrc_Git_08_-ebd98d40497a4e0ebf5b29b11f47e239

 

OpenSrc_Git_08_복귀

복귀

adorable-aspen-d23.notion.site

[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