Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Word Wrap
- http://localhost:8080/js/app/index.js
- 구글 로그인 후 js
- sysout
- 취업퇴소
- /js/app/index.js
- cannot determine url for
- 이클립스
- sysout자동입력
- SSAFY
- 중도퇴소
- Cannot determine URI for
- 7기
- 특화프로젝트
- 구글 로그인 후 redirect
- 줄바꿈
- 구글 로그인 후 경로
- 싸피
- System
- 회고
- System.out.println
- 삼성청년소프트웨어아카데미
- 줄변경
- Java
- 자동으로 줄내리기
- 사피
Archives
- Today
- Total
IT탐험
복귀(reset, revert) 본문
- 깃은 소스 코드의 시간에 따른 변화 흐름을 기록하는데 저장된 변화 흐름 단계를 커밋(commit)이라고 함
- 커밋을 기준으로 원하는 특정 시점의 상태로 전체 코드를 되돌리는 방법을 복귀라 하고 reset과 revert 두 가지 방법이 있음
-
<!-- 복귀하고자 하는 특정 시점을 찾을때 사용함 --> git log --oneline
- reset : 특정 커밋의 해시 값 상태로 모든 코드를 복구함
-
git reset 옵션 커밋ID
- 함께 사용하는 세 가지 옵션이 있음
- soft : 파일을 수정하고, add 명령어로 스테이지 영역에 올려 커밋을 실행하기 직전의 단계로 되돌림
- mixed : soft 옵션과 다르게 리셋한 후 스테이지를 복원하지 않고 워킹 디렉터리에 남겨둠
- hard : 워킹 디렉터리와 스테이지가 모두 비어 있는 이전 상태로 복원함
- soft와 mixed옵션은 되돌리는 과정에서 변경내용들이 삭제되지 않고 워킹 디렉터리에 유지되지만 hard는 변경내용도 삭제하여 완전히 이전 커밋의 상태로 되돌림
- reset --soft 명령을 활용하면 한 브랜치의 여러 커밋을 하나로 합치는 동작을 수행할 수 있음
-
<!-- 특정 파일을 리셋 --> git reset 파일이름 <!-- 특정 파일을 특정 시점으로 리셋 --> git reset 커밋ID 파일이름 <!-- 수정 작업을 완전히 취소 --> git reset --hard HEAD <!-- 병합 취소 --> git reset --merge HEAD~
- 저장소를 외부에 공개했거나 공유하고 있다면 리셋이 함께 작업하는 개발자에게 혼란을 줄 수 있으므로 사용을 지양함
-
-
- revert : 기존 커밋을 남겨 두고 취소에 대한 새로운 커밋을 생성하므로 협업과정에서 사용됨
-
<!-- 리버트로 현재 커밋을 취소 --> git revert HEAD <!-- 직전의 커밋이 아닌 다른 커밋을 취소 --> git revert 커밋ID <!-- 리버트로 여러 커밋을 취소 --> git revert 커밋ID .. 커밋ID <!-- 리버트로 병합 취소 --> git revert --mainline 숫자 병합커밋ID
-
'공부내용정리 > Git' 카테고리의 다른 글
서브모듈(submodule) (0) | 2021.12.29 |
---|---|
배포와 태그(tag) (0) | 2021.12.28 |
병합과 충돌(merge, rebase) (0) | 2021.12.27 |
스태시(stash) (0) | 2021.12.27 |
브랜치(branch, checkout) (0) | 2021.12.26 |
Comments