본문 바로가기
기타/Github

github.com에서 기존 커밋 정보를 새 커밋 정보로 강제로 덮어씌우기

by hirudev 2022. 2. 11.

※ 절대로 협업시에는 사용해선 안된다.

 

상황

C:\A 에서 git init 를 실행 → 커밋 후

git push 를 하여 리모트 저장소에 저장함.

뭔가 잘못되어 C:\B 에서 git init 실행  → 커밋 후

C:\B에 있는 깃 정보를 올려야 하는 상황

 

해결책

먼저, git remote -v

정상적으로 리모트 저장소의 정보를 처리됐다면 아래와 같이 뜬다.

아래와 같이 뜨지 않았다면 git remote add ~

 

다음, git push -f <id> <branch>

<id>는 위 remote -v 를 사용해서 나온 결과 중 hirudev 에 해당하는 부분을 적어준다.

(id가 아니더라도 저장소 경로(URL) 등을 적어도 되는지 확인 필요)

<branch> git log 를 확인하여 해당 커밋에 해당하는 부분을 적어준다.

(branch 맞나... hash 나 tag로도 되는지 확인 필요.)

 

아래의 예는 git push -f hirudev master 로 적어서 나온 결과이다.

 

댓글