개발도구/Git

강제 (force) push 수행하기

횰쓰 2022. 7. 3. 14:10

git push force 란?

 

 

위와 같이 가끔씩 사용자의 로컬저장소의 변경사항들이 원격저장소의 변경사항들과 호환되지 않는 경우 사용자의 변경사항을 push 하는 유일한 방법은 git push force 를 이용하는 것이다.

 

 

git push force를 수행한다면 위와 같이 로컬 저장소와 원격 저장소의 Commit 내역을 일치시킬 수 있다. 

 

즉, 원격 저장소 기준이 아니라 로컬 저장소의 기준으로 원격 저장소에 commit내역을 push 하는 것이다. 한마디로 원격 저장소의 commit 내역을 로컬을 기준으로 덮어쓰기(overwrite) 하는 것이다. 

 

$ git push -f

//또는
$ git pus --force

 

 


 

 

※ 주의 :

이 명령어의 사용으로 인해 원격 저장소에 커밋들이 유실되는 현상이 발생할 수 있다.

 

더욱이, 해당 원격 저장소가 다른 사용자들과 공유되는 상황이라면 force push 를 수행하는 것은 더더욱 지양하여야 하는데, 이는 다른 사용자들의 git history 상에는 덮어쓰기가 수행된 커밋 정보가 포함되어 있을 수 있기에, 각 사용자들의 작업이 원격 저장소 내용과의 동기화가 끊어지게 만드는 결과가 초래되기 때문이다.