출처 : https://gist.github.com/digitaljhelms/4287848
Github에서 브랜치란 개념은 여러가지 작업을 독립적으로 수행하면서 병합하기 위해 만들어진 개념입니다.
Repository를 만듦과 동시에 Mater라는 이름의 Branch가 만들어집니다. 여기서 가지가 뻗어나가듯이 새로운 분기점이 만들어지면서 여러가지 작업이 병렬적으로 수행되고, 후에 이 모든것이 Master Branch로 병합되면서 하나의 프로젝트가 됩니다.
git branch <branch name>
: 'branch name'의 이름을 가진 분기점(Branch)을 하나 형성합니다. 이 분기점은 마지막 커밋을 기준으로 만들어집니다. 이때, 현재 작업중인 branch를 HEAD
라고 합니다.
git checkout <exist branch name>
: 현재 작업중인 branch를 'exist branch name'인 branch로 옮겨집니다. HEAD
가 옮겨진 것과 같습니다.
git merge <current branch name>
: 현재 branch를 Master branch에 병합합니다.
git revert
: log에 이력을 남기면서 원하는 특정 기간대로 이동합니다
git reset
: log에 이력을 남기지 않으면서 원하는 특정 기간대로 이동합니다.
git cherry-pick
: 다른 branch에 있는 커밋의 일부를 현재 작업중인 branch에 적용시킵니다.
stash
: 다른 branch를 불러와 작업할때 현재 작업중은 내용을 안전하게 보관하기 위한 곳입니다.
git log --branches --decorate
: 모든 깃 로그가 나옴
git log --branches --decorate --graph
: 모든 깃 브랜치들의 로그를 그림으로 보여줌
git diff <branch1>..<branch2>
: branch1과 branch2의 차이를 알려줌