Git에서 로컬 커밋을 폐기하는 방법은 무엇입니까?
뭔가를 하고 있었는데 완전히 망했다고 판단했어요그것의 일부를 저지른 후에.그래서 저는 다음과 같은 순서를 시도했습니다.
git reset --hard
git rebase origin
git fetch
git pull
git checkout
그 때 메시지를 받았습니다.
Your branch is ahead of 'origin/master' by 2 commits.
로컬 디렉터리를 지우고 모든 것을 다시 다운로드하지 않고 로컬 커밋을 삭제합니다.어떻게 하면 그것을 달성할 수 있을까요?
git reset --hard origin/master
에 없는 모든 커밋을 제거합니다.origin/master어디에origin리포 이름이고master분기의 이름입니다.
별도로, 미파디의 대답(참고로 작동해야 함) 외에도, 당신은 다음을 수행하는 것을 알아야 합니다.
git branch -D master
git checkout master
또한 당신이 원하는 것을 정확히 수행합니다.having to redownload everything(귀하의 인용문을 바꿔 적음).이는 로컬 repo에 원격 repo의 복사본이 포함되어 있기 때문입니다(이 복사본은 로컬 디렉토리와 동일하지 않으며 체크아웃된 지점과도 동일하지 않습니다).
분기를 삭제하는 것은 완벽하게 안전하며 해당 분기를 재구성하는 것은 매우 빠르고 네트워크 트래픽이 수반되지 않습니다.깃은 기본적으로 설계상 로컬 레포입니다.원격 지사에서도 로컬에 복사본이 있습니다.특정 로컬 복사본이 실제로 원격 분기임을 알려주는 메타데이터는 일부에 불과합니다.모든 파일은 항상 하드 디스크에 있습니다.
마스터 이외의 분기가 없는 경우 다음 작업을 수행해야 합니다.
git checkout -b 'temp'
git branch -D master
git checkout master
git branch -D temp
제가 하는 일은 HEAD로 재설정하려고 노력하는 것입니다.모든 로컬 커밋이 삭제됩니다.
git reset --hard HEAD^
당신은 뛰어야 합니다.
git fetch
모든 변경사항을 가져오려면 "지점이 앞에 있습니다"라는 메시지를 수신하지 않습니다.
리모컨이 동기화되지 않아 업데이트가 필요한 경우를 보았습니다.만약에reset --hard또는branch -D실패, 시도
git pull origin
git reset --hard
나는 해야만 했습니다:
git checkout -b master
그것은 존재하지 않는다고 말한 것처럼, 왜냐하면 그것은 그것으로 지워졌기 때문입니다.
git -D master
언급URL : https://stackoverflow.com/questions/3882583/how-to-discard-local-commits-in-git
'programing' 카테고리의 다른 글
| Git 하위 모듈과 하위 트리 간의 차이 (0) | 2023.06.03 |
|---|---|
| UITableView 행 애니메이션 기간 및 완료 콜백 (0) | 2023.06.03 |
| rvm 설치가 작동하지 않음: "RVM이 함수가 아닙니다." (0) | 2023.06.03 |
| 속성에 대한 바인딩 상태에 대한 [(ngModel)]과 [ngModel]의 차이점은 무엇입니까? (0) | 2023.06.03 |
| iframe에 CSS를 어떻게 적용합니까? (0) | 2023.05.29 |