codememo

Git: 모든 커밋을 제거하기 위해 원격 Git 저장소를 재설정하는 방법은 무엇입니까?

tipmemo 2023. 7. 17. 21:09
반응형

Git: 모든 커밋을 제거하기 위해 원격 Git 저장소를 재설정하는 방법은 무엇입니까?

원격 및 로컬 Git 저장소를 재설정하여 모든 커밋을 제거하려면 어떻게 해야 합니까?

저는 현재 헤드를 초기 커밋으로 하여 새롭게 시작하고 싶습니다.

완전히 재설정?

  1. 삭제.git로컬 디렉터리입니다.

  2. Git 저장소를 다시 만듭니다.

    $ cd (project-directory)
    $ git init
    $ (add some files)
    $ git add .
    $ git commit -m 'Initial commit'
    
  3. 원격 서버에 푸시, 덮어쓰기.당신이 이 일을 하는 다른 모든 사람들을 엉망으로 만들 것이라는 것을 기억하세요. 당신이 유일한 고객이 되는 것이 좋습니다.

    $ 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을 찾는 것!

언급URL : https://stackoverflow.com/questions/2006172/git-how-to-reset-a-remote-git-repository-to-remove-all-commits

반응형