1. 程式人生 > >git --- 分支

git --- 分支

一:git branch b1              建立分支

        git checkout  b1         切換分支

        git branch -b branch   建立並切換分支

         git branch -d b1          刪除分支

二:git stash 

比如你正在開發新功能,突然有個bug需要你要去修復(每個bug要建立一個臨時分支去修復),但是你手頭的工作還沒做完,你的檔案正在改還沒有改完不能提交,你git status 會顯示報錯,這時候就可以用git stash這個命令把你現在的工作現場給封存起來,再git status就不會報錯 ,然後你就先切換到出現bug的分支上master上新建一個分支b1並切換它在b1上去修復bug。等你修改完bug 切換到出現bug的分支master上合併b1  ,git merge --no-ff -m 'sfa'   b1   這個命令是禁止使用快速合併方式  而去使用合併提交方式,這樣的話  你git log會檢視到你的這次提交記錄不然就看不到修改完bug  合併提交之後,刪除b1分支,然後你就要接著去開發之前的封存的現場,你要先切換到這個分支上然後用git stash list 去檢視儲存   然後 git stash pop 刪除儲存  你之前的檔案就可以接著去修改了。

三:git 切換分支--》會將此分支下所有的檔案顯示在本地    將別的分支同名的檔案覆蓋

四:分支衝突:合併衝突發生時要先找到衝突在哪個檔案裡面然後手動編輯檔案留那些  棄哪些  由你決定  然後編輯完之後  再add   commit 合併結束  再刪除臨時分支

五:快速合併:分支合併時候git會使用fast_forward模式,但是有些時候快速合併沒有成功但是也沒有發生衝突,這時候合併之後會在提交一次Merge made by the 'recursive' strategy   會有這樣的提示  

條件:dev 分支有新檔案而master分支沒有會使用快速合併模式 如果這時master的檔案有改動那就不能用快速合併模式而是用第二種合併模式提交,但是一旦刪除分支  那麼log就沒有此次記錄

六:比如你正在本地改檔案 還沒有add和commit  無論你切換到哪個分支都會有紅色提示你未新增檔案,add和commit 執行完了切換到別的分支才不會顯示這個檔案   git stash 暫時儲存就是這個原理

七:git show log索引      git 提交方式  fast_ford