分支的用處是可以分開儲存檔案。這是為了當多人協作時,發生問題可以更快速分辨出發生問題的地方。
這是用來建立分支的指令。
建立好之後,可以用 git branch
來查看現在所處分支,以及已經有的分支。
$ git branch alient-plot
$ git branch
alient-plot
* master
所以目前有 alient-plot 和 master 這兩個 branch,我們目前在 master。
$ git checkout alient-plot
A .gitignore
Switched to branch 'alient-plot'
用 git chackout 'name'
可以來切換分支。目前我們切到 alient-plot 這個分支了。
為了試試看切換分支,我修改了一下檔案,然後輸入跟前幾天學到的 commit 方式:git add .
、git commit -m "modify alient-plot"
。
然後再用 git log
看一下紀錄:
$ git log
commit 8a3ec704298a46b3b10b9 (HEAD -> alient-plot)
Author: Cindy <local>
Date: Sun Sep 25 17:19:23 2022 +0800
modify alient-plot
這時用 git checkout 'name'
切回 master,會發現剛剛在其他 branch 修改的檔案都沒有變。
切回 master 之後,我新增了一個檔案叫 chapter4.txt,然後一樣 commit 到 master。
這時檔案夾有 chapter4.txt
。
若再切回剛剛建立的 alient-plot,chapter4.txt
就會不見了!因為我們是 commit 到 master 而不是 alient-plot 這個分支。
如果想把 alient-plot 分支的東西也加入 main branch / master,就可以用 git merge
。
步驟是先切到 master,然後輸入 git merge alient-plot。
這時會出現 vim 開啟的文件,輸入文字後可以輸入 :q
來離開這個模式並完成 merge。
接下來可以用 git log
檢查看看是否成功,成功的話會看到 merge 的紀錄:
Merge branch 'alient-plot'
最後可以使用 git push origin master -u
來把 code 放上 Github。
成功放上 Github 之後可以看到曾經有開過 branch 並 merger 的紀錄: