LikeLion🦁

우리 아이가 사고쳤어요~

potatoo 2023. 5. 9. 19:52
728x90

사건의 원본이 아니긴 하지만 다른 분의 같은 사례 사진을 가져왔다.

사건은 깃헙에 커밋, 푸시를 하다가 뭔짓을 했는지 깃헙에 깃헙을 올려버린...그래서 커밋, 푸시가 안되는 상황이 발생했다.

그래서 여러가지 시도를 해보았고, 두 가지 과정?으로 문제를 해결했다고 생각한다.

먼저, 올라간 commit의 log를 찍어서 잘못 올린 부분을 확인하고, 그 다음에 돌아갈 commit시점을 찾아냈다.

 

그 다음에는 찾아낸 commit으로 돌리기 위해서 reset을 사용했는데, reset의 사용은 아래와 같다.

git reset [회귀하려는 지점의 commit]

그래서 reset으로 commit을 돌리고 난 다음에 push를 시도했는데, 아래와 같은 이유로 push를 실패했다.

힌트: 현재 브랜치의 끝이 리모트 브랜치보다 뒤에 있으므로 업데이트가
힌트: 거부되었습니다. 푸시하기 전에 ('git pull ...' 등 명령으로) 리모트
힌트: 변경 사항을 포함하십시오.
힌트: 자세한 정보는 'git push --help'의 "Note about fast-forwards' 부분을
힌트: 참고하십시오.

이 문제는 원격 저장소와 로컬 저장소의 공통 분모가 없는 상태에서 push를 시도할 경우 발생하는 문제이다.

깃허브에는 존재하지만 로컬에는 존재하지 않는 상황이다. 그래서 이를 해결하기 위해서 아래의 코드를 사용했다.

 git push backend +main
 git push [remote name] +[branch name]

이를 통해 강제로 합쳐버리는 것이다.
협업 상황에서는 절대 하지말아야할 행동이다. 하지만 사고친건 해결해야하니까...

 

728x90