一、git checkout
//查看當前分支
$ git branch
master
*t2
testing
//checkout會覆蓋當前工作區文件和覆蓋暫存區內容,所以發現分支有未提交的警告,執行git checkout master -f,強制切換后分支沒提交的修改會掉失.
$ git checkout master
error: Your local changes to the following files would be overwritten by checkout:
team/testing.txt
Please commit your changes or stash them before you switch branches.
Aborting
二、git checkout --merge <branch_name>
//查看當前分支
$ git branch
master
t2
*testing
//在當前分支“testing”下對文件做一些增刪改操作,如果不對增刪改文件做git commit,當切換分支時這些增刪改過的文件【未commit】就會掉失。所以要特別注意【切換分支前要先git commit】。
//切換分支的時候,將當前分支修改的內容一起打包帶走,同步到切換的分支下.
//git checkout --merge 兩點需要注意
//第一,如果當前分支和切換分支間的內容不同的話,容易造成沖突。
//第二,切換到新分支后,當前分支修改過的內容【未commit的內容】就丟失了。
$ git checkout --merge t2
//如果沖突手動合並 ->git add . -> git commit -m "conflict done"
//切換分支,觀察工作區文件的變化
$ git checkout testing
