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
repo 이름이 아닌 master
지점의 이름 이 아닌 모든 커밋을 제거합니다 .
따로, mipadi의 답변 (제대로 작동해야 함)을 제외하고는 다음을 수행해야합니다.
git branch -D master
git checkout master
또한 당신이하지 않고 원하는 것을 정확하게 수행 having to redownload everything
합니다 (인용 문구). 로컬 리포지토리에 원격 리포지토리의 복사본이 포함되어 있기 때문입니다 (그리고 해당 복사본은 로컬 디렉터리와 동일하지 않으며 체크 아웃 한 분기와 동일하지도 않습니다).
지점을 지우는 것은 완벽하게 안전하며 지점을 재구성하는 것은 매우 빠르며 네트워크 트래픽이 없습니다. git은 기본적으로 로컬 리포지토리입니다. 심지어 원격 지사에도 로컬에 사본이 있습니다. git에게 특정 로컬 사본이 실제로 원격 브랜치임을 알려주는 메타 데이터가 약간 있습니다. git에서 모든 파일은 항상 하드 디스크에 있습니다.
master 이외의 지점이없는 경우 다음을 수행해야합니다.
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가 존재하지 않는다고 말했듯이, 그것은
git -D master
참고 URL : https://stackoverflow.com/questions/3882583/how-to-discard-local-commits-in-git
'IT story' 카테고리의 다른 글
디렉토리에서 필터링 된 파일 목록 가져 오기 (0) | 2020.04.10 |
---|---|
Visual Studio 코드의 메서드 목록 (0) | 2020.04.10 |
Xcode 6에서 Swift to Objective-C 헤더가 생성되지 않음 (0) | 2020.04.10 |
SQL Server에서 datetime 필드의 기본값을 타임 스탬프에 추가 (0) | 2020.04.10 |
PowerShell을 사용하여 관리자 권한으로 명령을 실행 하시겠습니까? (0) | 2020.04.10 |