[TIL] 내일배움캠프 57일차_[Git] git push/commit 오류 해결하기
👀Today I Learn
git push 오류
-
과제를 하면서 branch를 처음 써보니 자꾸 헷갈린 와중에 push를 하다가 만난 오류
$ git push --set-upstream origin feature/Posts_DRF error: src refspec feature/Posts_DR does not match any error: failed to push some refs to 'https://github.com/hzi09/Assignment'
- 로컬 브랜치가 생성되지 않았거나, 브랜치 이름이 잘못되어 git push 명령어를 수행할 수 없다는 뜻
1. 로컬 브랜치 생성 여부 확인
-
일단 로컬 브랜치가 있는지 확인
git branch
-
나의 경우에는 있었음! : feature/Posts_DRF
-
-
출력 결과에 원하는 브랜치가 없다면 브랜치를 생성해야함
git checkout -b feature/Posts_DRF
2. 변경사항 커밋
- 로컬 브랜치에 변경사항이 없는 경우에도 커밋해야 push할 수 있음
git add . git commit -m "Initial commit for feature/Posts_DRF"
- 커밋을 했는데도 똑같은 오류가 발생..!
3. 내 원인
- main에서 커밋만 하고 push를 안한 내용이 적용이 안되서 생긴 문제였음
-
일단 메인으로 돌아가서 push를 해줌
git switch main git push
-
그 후에 다시 브랜치로 돌아와서 push를 하니 해결됨!
git switch feature/Posts_DRF git push --set-upstream origin feature/Posts_DRF'
-
git commit 오류
-
열심히 작업하고 있는데, 이전 기능 브랜치에서 작업하고 있어서 다른 브랜치로 switch를 하니 이런 오류가 뜸
error: Your local changes to the following files would be overwritten by checkout: CH3_Assignment_DRF/posts/views.py Please commit your changes or stash them before you switch branches. Aborting
- 브랜치를 변경하거나 새 브랜치를 체크아웃하려고 할 때, 현재 작업 중인 변경 사항이 다른 브랜치로 변경되면서 덮어쓰이게 될 경우 발생
1. 변경 사항을 커밋하기
-
현재 작업 중인 변경 사항을 커밋하면 안전하게 브랜치를 전환하기
git add . git commit -m "Save current changes" git checkout feature/Posts_DRF
- 내 경우에는 새로운 기능이기 때문에 다른 브랜치로 가서 작업을 커밋하고 싶었음!
- 그래서 이 방법은 탈락
2. 변경 사항을 스태시(Stash)로 임시 저장
-
커밋하고 싶지 않다면 스태시로 변경 사항을 임시 저장
git stash
- 이 명령어를 사용하면 변경 사항이 임시 저장되므로 브랜치를 옮기면 됨!
-
원하는 브랜치에서 스태시한 변경 사항을 다시 복구
git stash pop
-
새로운 브랜치에 이전 변경사항을 가져올 수 있다!
💡Today I Thought
오늘의 체크리스트
- 알고리즘 코드카타 241-250
- SQL 코드카타 74-75
- 백준 코딩테스트 1문제
- 장고 도전과제
- comment 수정
- DRF 변환
- TIL 작성
회고
오늘은 장고 과제하느라 하루를 다썼다. 시간 많을 줄 알았는데 생각보다 촉박해🥲 내일 README 작성해서 제출하면 될 것 같다. 어찌저찌 살아가는 코린이😁
댓글남기기