난 항상 생각했습니다 git reset
과 git checkout
모두가 특정 커밋을하는 프로젝트 등을 가지고 있다는 점에서, 동일로. 그러나 중복 될 수 있기 때문에 정확히 동일 할 수는 없다고 생각합니다. 이 둘의 실제 차이점은 무엇입니까? svn svn co
은 커밋을 되돌려 야하기 때문에 약간 혼란 스럽습니다 .
추가
VonC과 찰스의 차이점을 설명 git reset
하고 git checkout
정말 잘합니다. 내 현재 이해는 git reset
모든 변경 사항을 특정 커밋으로 되 돌리는 반면 git checkout
지점을 준비하는 것은 다소 있습니다. 다음 두 다이어그램 이이 이해에 매우 유용하다는 것을 알았습니다.
추가 3
에서 http://think-like-a-git.net/sections/rebase-from-the-ground-up/using-git-cherry-pick-to-simulate-git-rebase.html , 체크 아웃 및 재설정 할 수의 에뮬레이션 rebase.
git checkout bar
git reset --hard newbar
git branch -d newbar
-- files
변이 에 관해서는 괜찮을 수도 있지만 확실하지 않습니다.)이 다이어그램을 통해 주요 차이점이 색인 또는 WD에 영향을 미치는지 여부를 알 수 있습니다. 그것에 관한 내 대답을 참조하십시오. 두 번째 및 세 번째 다이어그램은 실제 차이를 보는 데 매우 유용합니다. 네 번째 및 다섯 번째 다이어그램은 이러한 명령의 기능을 이해하는지 여부를 확인하는 데 유용하지만 실제로 도움이되지는 않습니다.
think-like-a-git.net
데이터 손실을 방지하기 위해 추가 단계 (링크 된 기사 에서 제공 )가 필요합니다.