manual에 깃 생성.
work.txt는 work 1, work 2, work 3의 커밋 log 가지고 있음
git log --all --graph --oneline
--all
= 앞으로 우리가 만들게 될 모든 브랜치가 보임.
--graph
= 시각적으로 표현
--oneline
= 버전이 장황하게 나오지 않음.
git branch
일단 엔터
master/main 은 특별한 브랜치. 기본적으로 생성.
git branch apple
apple 브랜치가 생성된 것을 확인할 수 있음. 아직 main에 속해있음.
main 앞에 *은 아직도 main에 속해 있다는 뜻
현재 우리가 master에 속해있다.
HEAD
가 main
을 가리키고 있고, * 표시로도 나타냄
현재 우리가 만들고 있는 브랜치는 main이 있는 상태에서 만들었기 때문에 work 3라는 공통점을 갖고 있다. (commit 위치 동일)
work.txt 내용 수정
git commit -am "master work 4"
커밋을 하고 로그를 확인해 보면
ms, google, apple 브랜치는 여전히 work 3에 남겨진 상태.
git checkout apple
HEAD
는 apple, 즉 work 3 commit을 가리키고 있다. main은 여전히 work 4에 머물러 있다.
내용도 work 3 때의 기록으로 돌아갔다.
git checkout main
nano work.txt
내용이 work 4 때의 기록으로 돌아왔다.
다시 git checkout apple
을 하면 work 3 시대의 작업물로 돌아가는 것을 확인할 수 있다.
git checkout "branch name"
이 이름이 위치한 커밋 때 기록으로 자료가 변경됨.