브랜치 master
브랜치를 약간 변경 한 후 새 브랜치에서 작업하기로 결정했습니다. 나는 git checkout -b new_branch_name
을했고 새로운 지점이 만들어지고 체크 아웃되었습니다. git status
은 내가 변경 한 내용을 master
에 표시했습니다.git에서 브랜치 생성에 대한 혼란
내 변경 사항이 이제 두 가지 (master
및 new_branch_name
) 또는 단지 new_branch_name
일 경우 궁금합니다. 그래서 나는 master
을 확인했고, 나의 변화가 거기에서도 있었다고 알아 차렸다. 그래서 나는 그 변화를 git checkout -- fileThatChanged
으로 되돌 렸습니다. 변경 사항은 실제로 master
에서 사라졌습니다.
불행히도 new_branch_name
을 확인하고 git status
을 실행하면 변경 사항이 해당 분기에서 되돌려 진 것으로 나타났습니다.
나는 무슨 일이 일어 났는지 이해하고 싶습니다. 어떻게 이것을 피할 수 있습니까?
하나의 해결책은 작업을 시작하기 전에 새 분기를 만들거나 체크 아웃하는 것입니다.
기억해야 할 것은 분기가 커밋을 가리키고 커밋이 전체 작업 트리의 스냅 샷을 나타내는 것입니다. 체크 아웃 된 분기는 다음 커밋이 갈 단지 지점입니다. (작업 트리는 커밋과는 완전히 별개이며 인덱스는 두 인덱스 사이의 스테이징 영역입니다.) Git의 핵심 아이디어에 대해 말로 설명하려면 [The Git Parable] (http : // tom.preston-werner.com/2009/05/19/the-git-parable.html). – Cascabel