"HEAD"는 "head"또는 "tip"과 같은 것이 아닙니다. "HEAD"는 현재 체크 아웃 된 분기를 나타냅니다.
어쨌든. :)
당신이 한 모든 것을 버리고 마스터를 트렁크의 정확한 사본으로 돌려 보내려한다면, 그것은 매우 간단합니다. 해당 마스터를 가정하면 체크 아웃 :
git reset --hard trunk
경고 : 리셋 --hard는 커밋되지 않은 변경을 파괴합니다.
이전 작업의 고급 구원을 원한다면 git의 수많은 안전 벨트 중 하나 인 reflog를 아주 간단하게 소개하겠습니다. 예를 들어
git log -g master
이라고 말하면 마스터에 대한 "세이브 포인트"목록이 표시됩니다. 우리는 이것을 git 땅의 reflog라고 부른다. 연산이 분기를 변경할 때마다 새로운 분기 점이 해당 분기의 reflog 맨 위에 추가됩니다. 마지막 작업은 당신이 무섭게 지사를 엉망 않은 경우 즉, 당신은 그 작업을하기 직전에 있었는지에 지점을 반환 할 수 있습니다 : 당신이 reflog를 보면 일단 @{1}
더 이해가됩니다
git reset --hard [email protected]{1}
있다. 자식은 @{10.minutes.ago}
과 같은 더 멋진 구문도 지원합니다.
더 많은 것들이 가능하지만, 지금 당장 수정해야합니다.
나는 트렁크 키워드를 알지 못했다 :'git reset --hard trunk'. 그것은 트릭을했다. –
정확히 키워드는 아닙니다. 그것은 SVN 트렁크의 git-svn 사본의 이름 일뿐 ... 오히려 짧은 이름의 전체 이름입니다. 예를 들어, git branch -r을 사용하여 짧은 이름의 전체 목록을 볼 수 있습니다. –