我平時項目管理用的是git,使用的工具是Sourcetree。寫這篇文章的目的就是要記錄一些平時開發過程當中遇到的比較麻煩的問題。html
對於通常的push,pull,合併等內容就不進行記述了,估計哪都能找到。接下來就記錄幾個問題(會不斷更新)。git
使用回滾。對於需去除的commit提交。右擊彈出彈窗,點擊提交回滾,若是有衝突,即先解決衝突。沒有衝突則直接提交推送。bash
使用重置到XXXX提交的功能。在要重置的節點右擊選擇將xxx重置到此次提交的選項。如圖工具
點擊肯定spa
這時會發現你有x個提交能夠拉取,這時候若是拉取就會恢復到以前的樣子。 code
咱們是要回退這些提交到以前的節點,因此需選擇推送,強制推送便可。cdn
情景:如你的develop分支合併了feature/xxxx分支,可是這個功能忽然又被產品告知不要在這個版本上了,如何刪除feature/xxxx分支合併進來的代碼呢?htm
若是,這個分支合併以後的代碼你都不須要了,都要丟棄,那麼方法如2同樣,直接回退到xxxx節點。若是這個合併以後的代碼還有部分須要,可參考問題五的解決思路。blog
情景:作需求的時候,你的功能分支中部分功能可能被產品臨時告知要廢棄,那麼如何處理?項目管理
可以使用 git 的 cherry-pick 命令 如
git cherry-pick 4db0729d
複製代碼
把那些要提交的節點選出來提交。
對於sourcetree 便是遴選功能。選擇要被提交過來的節點,右擊,選擇遴選選項。
情景:好比你把某個功能已經合併到了你的開發分支,同時以後還提交了一些代碼。可是這個功能忽然被告知要下架,這時候如何處理?
首先到達節點a,從該處拉出一個新分支如copy_develop,而後選擇遴選b,e。在回到原來的develop分支,重置到a此次的提交。而後再把copy_develop分支的代碼合併到develop分支便可。