IT/git 사용법

github 사용법 ( commit 삭제)

happy_life 2021. 8. 20. 10:26

 

 

문제상황: 1)분명히 내부저장소에서 빨간줄 쳐저 있는 파일을 삭제하는 코드를 치고 commit 하고 push를 했는데

              삭제되지 않음

             2) 심지어 방금 commit을 한 건데도 4hours ago 라고 써있음.

 

 

해결방법: 저 파일들을 올렸던 4시간전의 commit이 계속 현재에도 발생하는 것이니, 저 commit을 삭제해주면 됨.

 

 

코드

더보기

git reset [--option(hard/soft/mixed)] [commit이름] // 그 commit으로부터 다 취소

 

git reset [--option(hard/soft/mixed)] head^ //끝의 1개 commit 취소 

 

git reset [--option(hard/soft/mixed)] head^2  // 끝의 2개의 commit 취소 

 

option

  • hard : 내가 돌아가자고 한 commit 이후의 commit 변경 이력을 전부 삭제
  • soft : 변경 이력 삭제, 변경 내용은 남아있음, index 초기화(git add가 안되어 있는 상태 =unstaged)
  • mixed : 변경 이력 삭제, 변경 내용은 남아있음, 인덱스도 유지(git add까지 되어 있음  = staged ) 

 

그러나 나의 경우 첫번째 commit 이 저 빨간 것들을 로컬에서 원격 저장소에 넣는 것이다. 위의 코드들은 두번째코드까진 지울 수 있지만 ,첫번쨰 commit까지 완전히 지우지 못한다.

 

따라서 , 해결하는 방법은 아예 초기상태로 돌아가는 코드를 짜는 것이다.  all clear 를 해주는 방법은 밑을 참고해야한다.

 

https://www.shellhacks.com/git-remove-all-commits-clear-git-history-local-remote/

 

Git - Remove All Commits - Clear Git History (Local & Remote) - ShellHacks

Как очистить историю Git-репозитория, удалив все коммиты как локально, так и удаленно.

www.shellhacks.com