brunch

You can make anything
by writing

C.S.Lewis

by 유윤식 Dec 18. 2019

Git: commit 삭제, 무서움.

# commit, remote commit, delete

Git 사용에서 가끔 중요한 내용을 포함해(예로 중요한 키값을) commit, push 등을 하여 보안 사고가 발생 할 수 있다.


일단 remote push가 이루어 졌다면 빨리 지워야한다.


그런데,

다른 팀원들과 협업을 하고 있는 상태에서는 기본적인 동의(?)가 필요하다.


일단 현재 상태에서 중요한 부분만 수정 후 모든 commit 을 없애고

다시 push 하는 것으로 해결해 보려고 한다.


1. git log -g

자신의 local에서 수행된 모든 commit 에 대한 정보 및 remote push 정보, HEAD@{N} 상태까지 확인 할 수 있다.


2. git reset HEAD~N

몇번째 commit까지 삭제하고 싶은지(예로 N=3), 기본 옵션으로는 --soft를 사용함으로 자신의 local코드에는 변화가 없다. 일단 잘못된 부분 바로 위의 commit으로 돌아가야 한다.


3. git status, git add -A, git commit -m "fixed blur blur"

어떤 파일이 어떻게 변화 되었는지 확인 후, local commit을 진행한다.


4. git push origin +{REMOTE_BRANCH}

+가 보인다. force 하게 push 하겠다는 의미이다. 이 명령어가 날라가면 Git에 있었던 일부 commit 자체가 사라진다. 삭제하려던 중요한 정보도 함께 사라진다.


끝.

작가의 이전글 PySpark: SQL(with @Join)
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari