commit 삭제 - GitHub에서 커밋을 제거하려면 어떻게해야합니까?





10 Answers

git push -f origin HEAD^:master

푸시를 "취소"해야합니다.

remote merge 없애기

나는 실수로 GitHub에 커밋을 밀어 넣었다.

이 커밋을 제거 할 수 있습니까?

GitHub 저장소를 되돌리기를 원합니다.




  1. git log 를 사용하여 되돌리려는 커밋을 찾으십시오.

  2. git push origin +7f6d03:master 가 7f6d03이 잘못 푸시 된 커밋 전에 커밋 인 동안. + force push 위한 것이 었습니다.

그리고 그게 다야.

Here 당신의 문제를 쉽고 간단하게 해결할 수있는 아주 좋은 가이드가 있습니다!




삭제 후에 커밋 변경 사항을 유지하려는 경우

제거 할 커밋이 마지막 커밋 된 커밋 인 경우이 솔루션이 작동합니다.

1 - 로그에서 돌아가고 싶은 커밋 참조를 복사하십시오 :

git log

2 - 커밋 참조로 자식 재설정 :

 git reset <commit_ref>

3 - 원격 커밋 후에 잘못된 커밋의 로컬 변경 사항을 숨기거나 저장합니다.

 git stash

4 - 변경 사항을 원격 저장소 (-f 또는 --force)로 푸시합니다.

git push -f

5 - 저장된 변경 사항을 로컬 저장소로 되돌립니다.

git stash apply

7 - 변경 사항에 untracked / new 파일이있는 경우 커밋하기 전에 git에 추가해야합니다.

git add .

6 - 필요한 추가 변경 사항을 추가 한 다음 필요한 파일을 커밋합니다 (또는 각 파일 이름을 나타내는 대신 점 '.'을 사용하여 로컬 저장소의 모든 파일을 커밋합니다.

git commit -m "<new_commit_message>" <file1> <file2> ...

또는

git commit -m "<new_commit_message>" .



1. git reset HEAD^ --hard
2. git push origin -f

나를 위해 일하는이.




완료 한 작업을 유지하면서 가장 최근 커밋을 삭제하십시오.

git reset --soft HEAD~1

가장 최근의 커밋을 삭제하고 수행 한 작업을 삭제합니다.

git reset --hard HEAD~1



되 돌리는 커밋에서 커밋 해시를 알아야합니다. GitHub URL ( https://github.com/your-organization/your-project/commits/master 에서 가져올 수 있습니다.

다시 커밋에서 해시가 "99fb454"(긴 버전 "99fb45413eb9ca4b3063e07b40402b136a8cf264") 인 경우 다음과 같이하면됩니다.

git reset --hard 99fb45413eb9ca4b3063e07b40402b136a8cf264
git push --force



터미널에서이 명령을 실행하십시오.

git reset HEAD~n

HEAD ~ 2와 같이 로컬 repo에서 마지막 n 개의 커밋을 제거 할 수 있습니다. 저장소에 force git push를 계속 진행한다.

git push -f origin <branch>

희망이 도움이!




먼저 변경 사항을 측면의 어딘가에 저장하십시오 (백업).

최근 커밋을 검색 한 다음 "전체 SHA 복사"버튼을 클릭하여 커밋 해시를 선택하여 클립 보드로 보낼 수 있습니다.

마지막 커밋 해시가 g0834hg304gh3084gh (예 :)라고 가정 해 봅시다.

실행해야합니다 :

git push origin +g0834hg304gh3084gh:master

이전에 복사 한 해시를 사용하여 "HEAD"개정판을 만듭니다.

원하는 로컬 변경 사항을 추가하십시오. 완료;)




대화 형 리베이스를 제거하려면,

git rebase -i HEAD~4

4 represents total number of commits to display count your commit and 그에 맞게 변경합니다.

목록에서 원하는 커밋을 삭제하십시오 ...

Ctrl + X (우분투) 또는 : wq (centos)로 변경 사항을 저장하십시오 .

두 번째 방법, 되돌릴 수,

git revert 29f4a2 #your commit ID

이것은 특정 커밋을 되돌릴 것이다.




원하는 방식대로 파일을 추가 / 제거하십시오.

git rm classdir
git add sourcedir

그런 다음 커밋을 수정하십시오.

git commit --amend

이전의 잘못된 커밋은 새 인덱스 상태를 반영하도록 편집됩니다. 즉, 처음에는 실수를하지 않은 것처럼 보입니다.

아직 푸시하지 않은 경우에만이 작업을 수행해야합니다. 푸시했다면 정상적으로 수정해야합니다.




Related


Tags

git   github