add
하고commit
하고push
까지 해버렸다!
깃허브에 올라간 것도 확인했다!
그런데!!!! 잘못 올려버렸다!!!!
이럴 경우 어떻게 해야할까?
git log
VSC 터미널에 위 코드를 입력하면, git
을 사용한 본인의 이력이 전부 나온다.
왜 이걸 하느냐? 특정 커밋으로 회귀하기 위해 커밋 아이디가 필요하기 때문이다.
내가 잘못 push
한 커밋이 가장 위에 보이게 되는데,
우리는 이 친구를 지우기 위해서
git reset [회귀하려는 지점의 commit]
이 코드를 사용할 것이다.
가장 위에 있는 커밋을 지우고 싶으니까...
바로 아래에 있는 커밋으로 회귀하면 되는 것이다!
git reset 661b4dfa4a46fa0aeee4c47bb17df17ef0af1839
이제 확인해보자.
git log
오! 가장 위에 있던(잘못 push한) 커밋이 삭제되었다!
push
를 취소하고 다시 이전 commit
으로 돌아왔으니까
이제 수정할 내용을 다시 수정하거나, 올바른 파일로 잘 입력해서
add
, commit
, push
를 진행하도록 해보자.
그런데...이런 에러가 뜬다!
이는 원격 저장소와 로컬 저장소의 공통 분모가 없는 상태에서 push를 시도할 경우 발생하는 문제이다.
쉽게 말하면...깃허브에는 있는데 로컬에는 없는 상황인 것이다.
git push origin +master
push
할 branch
앞에 +
기호를 붙여주면 된다.
이를 통해 강제로 합쳐버리는데...
이 말은 즉, 협업 상황에서는 절대 하지말아야할 행동이라는 것이다.
따라서...본인만의 branch
를 생성해서 작업을 하는 것을 필수적이라고 생각된다.
또한, push
전에 반.드.시 오탈자나 파일 누락, 착각 등이 없는지 확인을 하자.
퐈니썬님 블로그
인파_님 블로그
falling_star3님 블로그
HeeJeong Kwon님 블로그
쫄보의삽질님 블로그
Blue__님 블로그
rain98님 블로그