분기점
$ mkdir branchtest
$ cd branchtest
$ git init
$ vim work.txt
$ git add work.txt
$ git commit -m "work 1"
git branchgit branch [브랜치 이름]$ git branch
$ git branch apple
$ git branch ms
$ git branch google
git checkout [브랜치 이름]
git log --oneline으로 로그를 보면 master와 다른 브랜치의 상태가 다른 것을 확인 할 수 있다.git log --oneline으로 로그를 보면 HEAD가 apple를 가리키고 있는 것을 볼 수 있다.git log --oneline --branches --graph를 한다면 분기되었음을 그래프로 확인할 수 있다.git log master..apple : master 브랜치를 기준으로 apple과 비교하여 차이점을 알 수 있다.git log apple..master : apple 브랜치를 기준으로 master와 비교하여 차이점을 알 수 있다.git log --oneline --branches --graph로 현재 상태를 확인한다.git merge b1을 입력하여 병합한다. :: master 브랜치를 b1과 병합한 결과를 master 브랜치에 적용한다.$ mkdir man1
$ cd man1
$ git init
$ vim work.txt
$ git add work.txt
$ git commit -m "work 1"
$ git branch b1
$ vim master.txt
$ git add master.txt
$ git commit -m "master work 2"
$ git checkout b1
$ vim b1.txt
$ git add b1.txt
$ git commit -m "b1 work 2"
$ git log --oneline --branches --graph
$ git checkout master
$ git merge b1
$ ls -al
#title
content
#title
content
#title
master content 2
#title
content
#title
content
#title
b1 content 2
$ git init man2
$ cd man2
$ vim work.txt
$ git add work.txt
$ git commit -m "work 1"
$ git branch b1
$ vim work.txt
$ git commit -am "master work 2"
$ git checkout b1
$ vim work.txt
$ git commit -am "b1 work 2"
$ git checkout master
$ git merge b1
$ cat work.txt
#title
content
#title
content
#title
content
master content 2
#title
content
#title
content
b1 content 2
#title
content
<<<<HEAD, >>>>b1, =====을 삭제한 뒤 저장하고 편집기를 종료한다.git log --oneline --branches --graph로 지금까지 만든 브랜치와 커밋의 관계를 한눈에 확인할 수 있다.$ git init man2
$ cd man2
$ vim work.txt
$ git add work.txt
$ git commit -m "work 1"
$ git branch b1
$ vim work.txt
$ git commit -am "master work 2"
$ git checkout b1
$ vim work.txt
$ git commit -am "b1 work 2"
$ git checkout master
$ git merge b1
$ vim work.txt
$ git commit -am "merge b1 branch"
$ git log --oneline --branches --graph
git merge b1 --editgit merge b1 --no-edit| 프로그램 | 설명 |
|---|---|
| P4Merge | 무료이고 직관적이며 사용이 편리하고 병합 기능이 뛰어남. 단축키가 지원되지 않는 단점이 있다. |
| Meld | 무료이며 오픈소스. 파일을 비교하는 것뿐만 아니라 직접 편집할 수 있다. |
| Kdiff3 | 무료이고 사용이 편리하고 병합 기능이 뛰어나지만 한글이 깨져보일 수 있다. |
| Araxis Merge | 유료지만 용량이 큰 파일에서도 잘 동작함 |
git branch로 남은 브랜치 확인git branch -d b1git branch --delete b1git branch -D b1git stash
git status로 상태를 확인한다.git stash를 실시하고 다시 git status를 해보면 modified 메시지가 사라진 것을 확인 할 수 있다.git stash pop을 사용한다.$ git init st
$ cd st
$ vim f1.txt
$ vim f2.txt
$ git add .
$ git commit -m "add f1, f2"
$ vim f1.txt
$ vim f2.txt
$ git stash
$ git stash pop
git stash : stash 스택에 modified 상태의 작업물을 담는다.git stash pop : 가장 최근의 항목을 되돌리고 stash 스택에서 제거한다.git stash list : stash 스택의 목록을 확인한다.git stash apply : 가장 최근의 항목을 되돌리고 stash 스택에 남겨둔다.git stash drop : 가장 최근의 항목을 삭제한다.