.git
git init
$ ls
Hello.txt
$ ls -al
total 8
drwxr-xr-x 4 luoweijie staff 128 9 15 14:08 .
drwx------+ 25 luoweijie staff 800 9 17 01:44 ..
drwxr-xr-x 12 luoweijie staff 384 9 15 14:14 .git
-rw-r--r-- 1 luoweijie staff 22 9 15 14:08 Hello.txt
& cd .git && ls -al
total 40
drwxr-xr-x 12 luoweijie staff 384 9 15 14:14 .
drwxr-xr-x 4 luoweijie staff 128 9 15 14:08 ..
-rw-r--r-- 1 luoweijie staff 34 9 15 14:14 COMMIT_EDITMSG
-rw-r--r-- 1 luoweijie staff 23 9 14 13:53 HEAD
-rw-r--r-- 1 luoweijie staff 137 9 14 13:53 config
-rw-r--r-- 1 luoweijie staff 73 9 14 13:53 description
drwxr-xr-x 13 luoweijie staff 416 9 14 13:53 hooks
-rw-r--r-- 1 luoweijie staff 137 9 15 14:08 index
drwxr-xr-x 3 luoweijie staff 96 9 14 13:53 info
drwxr-xr-x 4 luoweijie staff 128 9 15 14:03 logs
drwxr-xr-x 12 luoweijie staff 384 9 15 14:14 objects
drwxr-xr-x 4 luoweijie staff 128 9 14 13:53 refs
$ cat HEAD
ref: refs/heads/master
$ git checkout -b cat #記得要回到正確的目錄哦,在.git執行是不會成功的
Switched to a new branch 'cat'
$ cat .git/HEAD
ref: refs/heads/cat
$ git branch iss53
$ git checkout iss53
#或者你可以寫
$ git checkout -b iss53
Switched to a new branch 'iss53'
iss53
上嘛$ echo.> 123.txt
$ git add .
$ git commit -m "Doc in iss53"
當你寫到一半的時候,你的老闆衝進來,跟你說你專案的某一個地方出bug,需要你緊急處理!!
接下來,我們來處理那個緊急BUG吧!
$ git checkout master
$ git checkout -b hotfix
於是,就會變成下面這個圖
當我們處理好那個緊急的bug時,我們就要把我們的hotfix分支結合回去我們的master裡面
那要怎麼做呢???
$ git checkout master #先回到master分支上
$ git merge hotfix #再把hotfix分支給merge進來
你的圖會變成這樣
在做完你的hotfix之後,你可以選擇把你的分支給刪掉((看你心情,個人是做完就會刪掉
然後你可以再回到你那未完成的分支,繼續你今天要做的事情
$ git branch -d hotfix
$ git checkout iss53
$ vim 123.txt
$ git add .
$ git commit -m "New Doc in branch iss53"
上面的指令裡面,你做了:
所以圖會變成下面這樣:
假設現在我們的分支iss53已經搞定了,我們要把他merge回去master裡面
$ git checkout master
$ git merge iss53
好啦今天先到這邊~
這個branch 跟 merge 可是git裡面很重要的技能哦!!