호우동의 개발일지

Today :

article thumbnail

Reset(되돌리기)

  • 현재 브랜치의 최신 상태를 이전 커밋(원하는 커밋)으로 되돌리는 기능
  • 3가지 모드 존재
    • Hard : 모든 작업 내 변경 사항을 버린다.(변경 사항을 다 삭제)
    • Mixed : 원하는 커밋으로 되돌아가지만, 변경사항은 스테이지 아래에 둠
    • Soft : 원하는 커밋으로 되돌아가지만, 변경사항은 스테이지 위에 둠

 


Sourcetree Hard Reset 실습

리셋 경로

add featB 커밋으로 되돌리기 위해 Reset 버튼을 클릭

3가지 모드
3가지 모드

3가지 모드 중 Hard 선택

로컬 저장소에는 적용됨

로컬저장소는 적용됐지만 원격저장소 origin에는 아직 적용되지 않음

강제 푸시 체크
origin에 적용됨

히스토리를 수정하는 작업이기 때문에 강제푸시를 사용해야 한다.
따라서 ForcePush를 체크한다.


정상적으로 원격저장소인 origin에도 적용된 것을 확인할 수 있다.

 

 


Revert

  • 커밋의 변경사항을 되돌리는 새로운 커밋을 만듦
  • Reset과 가장 큰 차이점은 Revert는 커밋 이력을 만든다는 점
  • 특정 커밋을 언제든지 되돌릴 수 있음

Reverse 경로
Reverse 적용 확인

 

 


Stash

  • 커밋하지 않은 변경사항을 잠시 다른 곳에 임시저장

md 파일 수정

Stash 기능을 사용하기 위해 README.md 파일을 조금 수정하여 커밋을 만든다.

stash 경로

Stash 버튼을 누르고 Message는 임의로 설정한다.

Apply Stash
Apply Stash를 누르면 된다.
경고 메세지
경고 메세지

Stash 안에 들어간 것은 언제 어디서든 사용가능하다.

b Brach에서 a Branch로 이동해서 오른쪽 마우스를 누르고
Apply Stash를 누르면 사용가능하다.

경고문이 뜨는데 아래 옵션은 적용 후 스태시를 삭제하겠다는 뜻이다.

정상적으로 branch A에 들어옴

충돌이 나긴 했지만 정상적으로 Stash에 넣어뒀던 커밋이 branch A에 들어온 것을 확인할 수 있다.