회사의 깃허브 계정과 개인 깃허브 계정이 달라 회사에서 개인 계정의 깃을 사용할 때 회사 계정으로 올라가는 경우가 가끔 생겼다.
그럴 때마다 항상 당황하며 인터넷을 검색하는데 따로 글이 적혀있으면 좋을 것 같아 이제야 적게 되었다.
커밋과 푸시된 내역은 전부 지웠는데 approve 내역은 어떻게 지우는 지 모르겠다...🤦
참고 https://gmlwjd9405.github.io/2018/05/25/git-add-cancle.html
// commit 목록 확인
$ git log
// [방법 1] commit을 취소하고 해당 파일들은 staged 상태로 워킹 디렉터리에 보존
$ git reset --soft HEAD^
// [방법 2] commit을 취소하고 해당 파일들은 unstaged 상태로 워킹 디렉터리에 보존
$ git reset --mixed HEAD^ // 기본 옵션
$ git reset HEAD^ // 위와 동일
$ git reset HEAD~2 // 마지막 2개의 commit을 취소
// [방법 3] commit을 취소하고 해당 파일들은 unstaged 상태로 워킹 디렉터리에서 삭제
$ git reset --hard HEAD^
// commit message를 잘못 적은 경우, git commit –amend 명령어를 통해 git commit message를 변경할 수 있다.
$ git commit --amend
주의: 강제푸시를 사용하여 Push를 취소하는 방법입니다.
// commit 목록 확인
$ git log
// 돌아가고 싶은 commit의 아이디를 찾아 git reset 명령어 사용
// --hard는 돌아가려는 이력 이후의 내용 전부 삭제
// 과거 이력만 지우고 이후 stage로 수정 이력을 갖고 싶다면 soft 사용
$ git reset --hard "해당commit"
// 강제 푸시를 이용하여 원하는 브랜치로 push 진행
$ git push -f origin master