카테고리 없음
[자식] 모든 커밋을 제거하기 위해 원격 Git 저장소를 재설정하는 방법은 무엇입니까?
행복을전해요
2021. 1. 12. 21:52
완전히 재설정 하시겠습니까?
.git
디렉토리를 로컬로 삭제하십시오 .git repostory를 다시 만듭니다.
$ cd (project-directory) $ git init $ (add some files) $ git add . $ git commit -m 'Initial commit'
원격 서버로 푸시하고 덮어 씁니다. 이 일을하면서 다른 모든 사람들을 엉망으로 만들 것임을 기억하십시오.… 유일한 고객이되는 것이 좋습니다.
$ git remote add origin <url> $ git push --force --set-upstream origin master
먼저이 질문 의 지침에 따라 모든 것을 단일 커밋으로 스쿼시하십시오. 그런 다음 원격으로 강제 푸시합니다.
$ git push origin +master
선택적으로 다른 모든 분기를 로컬 및 원격으로 삭제합니다.
$ git push origin :<branch>
$ git branch -d <branch>
-------------------내가 당신이라면 다음과 같이 할 것입니다.
무엇이든하기 전에 사본을 보관하십시오 (미안하는 것보다 더 안전합니다)
git checkout master
git checkout -b temp
git reset --hard <sha-1 of your first commit>
git add .
git commit -m 'Squash all commits in single one'
git push origin temp
그런 다음 다른 분기를 삭제할 수 있습니다.
결과 : 커밋이 2 개 뿐인 브랜치를 갖게됩니다.
사용하여
git log --oneline
최소한의 방법으로 커밋을 참조하고 커밋에 대한 SHA-1을 찾아!
출처
https://stackoverflow.com/questions/2006172