일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- vuex map
- 프로그래머스 프론트엔드 데브코스
- 프로그래머스 K_Digital Training
- vue mixin
- Vue
- 프로그래머스 데브코스 프론트엔드
- 폼 입력 바인딩
- git 같은계정 다른 컴퓨터
- 이벤트 수식어
- vue 지역 컴포넌트
- 고양이 사진 검색기
- 프로그래머스 데브코스
- KDT 프로그래머스 데브코스 프론트엔드
- KDT 프로그래머스
- netlify redirect
- SCSS extend
- 쌓임맥락
- 리스트 렌더링
- SCSS forward
- 다른컴퓨터에서 git사용
- SCSS import
- intersection opserver
- SCSS use
- postcss
- react next
- flex
- vue 이벤트 수신
- Spacer
- 리액트
- nextjs사용법
- Today
- Total
혼자 적어보는 노트
Git commit 합치기 / git rebase error / git stash error 본문
커밋을 엄청 뭉텅이로 하다가
git을 잘 다루어보자 라는 마음으로 커밋을 나누어서 하고 있던 도중
중복되는 커밋을 한 것 같아서 최근에 올렸던 두개의 커밋을 합치고 싶었다.
git rebase -i HEAD~2
그런데 에러가 발생했다.
error: cannot rebase: Your index contains uncommitted changes.
error: Please commit or stash them.
커밋을 하지 않은 내용물들이 남아있으면 rebase가 안되는 모양이다.
commit을 하거나 stash를 하라는데
status에 남아있는 파일들은 일부러 커밋을 안한 것들이였다. (커밋하기 싫은 것들!)
커밋을 하기 싫다면 stash를 사용하면 된다고 한다.
git stash
stash 명령어를 사용 하던 작업들을 스택에 잠시 저장할 수 있다고 한다.
git stash
stash에 저장하고 나서 git status를 하면 비워져 있는 것을 확인할 수 있다.
* stash를 하면 마지막 commit후 수정한 것들이 임시 저장소로 가버린다.
git stash apply
stash apply 명령어를 사용하면 임시 저장소에서 다시 작업을 가져올 수 있다.
git stash apply //최근 stash 불러오기
git stash apply [stash 이름]
// ex) git stash apply stash@{0}
git stash drop
stash를 지우려면 stash drop 명령어를 사용한다. (stash에서 작업을 가져와도 저장소에는 계속 저장이 되어있다)
git stash drop //최근 stash 지우기
git stash drop [stash 이름]
git stash list
stash의 목록을 확인하려면 git stash list를 하면된다.
git stash list
stash@{0}: WIP on master: 8ad9d84 Add right column // 최근 stash
stash@{1}: WIP on master: 8ad9d84 Add right column
stash목록에서 stash의 이름 정보가 나오는데
임시저장소는 커밋 속에 저장이 되는 모양이다.
테스트를 하려고 stash를 한 후 .gitignore 파일을 수정 후 저장해버렸다.
그리고 stash apply로 stash 하기 전으로 돌리려고 했는데
수정된게 있다고 에러가 발생하고 돌려지지가 않았다.. 섬뜩
error: Your local changes to the following files would be overwritten by merge:
.gitignore
Please commit your changes or stash them before you merge.
Aborting
위와 같은 에러가 발생하길래 무언가 변경이 된 것이 있어서 돌려지지가 않는가보다 하고
다시 git stash를 했는데 에러가 생겨서 이도저도 못하고 있었다..
내가 한 해결방법은 그냥 임시로 commit을 해버렸다.
그리고 git stash apply를 해서 되돌린 후에 commit한 것을 지웠다.
rebase 실행
stage가 깔끔해 졌으니
git rebase -i HEAD~2 실행 시 실행이 된다.
pick 38783bd Add global selected state
s 8ad9d84 Add right column
에디터 창이 뜨고 위와 같이 커밋 앞에 pick이라고 쓰여있는 부분을 s로 바꾸면
s로 적은것들이 pick으로 합쳐진다. :wp (저장후종료)
'기타' 카테고리의 다른 글
[VSCode] 기본 터미널 설정 (0) | 2022.02.03 |
---|---|
Git 브랜치 삭제 (0) | 2022.01.22 |
window 디렉토리 복사 / 모든 파일, 하위 디렉토리 복사 (0) | 2021.12.20 |
[VSCode] 유용한 익스텐션(Extensions) (0) | 2021.12.19 |
터미널 기본 명령어 - windows / mac OS (0) | 2021.12.19 |