與產品鬥爭中積累下的Sourcetree使用技巧

我平時項目管理用的是git,使用的工具是Sourcetree。寫這篇文章的目的就是要記錄一些平時開發過程當中遇到的比較麻煩的問題。html

對於通常的push,pull,合併等內容就不進行記述了,估計哪都能找到。接下來就記錄幾個問題(會不斷更新)。git

實例

1.如何去除某個分支中的某個提交?

使用回滾。對於需去除的commit提交。右擊彈出彈窗,點擊提交回滾,若是有衝突,即先解決衝突。沒有衝突則直接提交推送。bash

屏幕快照 2020-03-06 下午2.57.52.png

2.如何去除某個分支中的某些提交?(如develop分支回退到以前的某個節點)

使用重置到XXXX提交的功能。在要重置的節點右擊選擇將xxx重置到此次提交的選項。如圖工具

屏幕快照 2020-03-06 下午3.04.02.png

點擊肯定spa

屏幕快照 2020-03-06 下午3.10.25.png

這時會發現你有x個提交能夠拉取,這時候若是拉取就會恢復到以前的樣子。 code

屏幕快照 2020-03-06 下午3.13.01.png

咱們是要回退這些提交到以前的節點,因此需選擇推送,強制推送便可。cdn

屏幕快照 2020-03-06 下午3.14.47.png

3.如何刪除某個分支合併的代碼?

情景:如你的develop分支合併了feature/xxxx分支,可是這個功能忽然又被產品告知不要在這個版本上了,如何刪除feature/xxxx分支合併進來的代碼呢?htm

若是,這個分支合併以後的代碼你都不須要了,都要丟棄,那麼方法如2同樣,直接回退到xxxx節點。若是這個合併以後的代碼還有部分須要,可參考問題五的解決思路。blog

4.如何選擇某個分支的部分代碼進行合併提交?

情景:作需求的時候,你的功能分支中部分功能可能被產品臨時告知要廢棄,那麼如何處理?項目管理

可以使用 git 的 cherry-pick 命令 如

git cherry-pick 4db0729d
複製代碼

把那些要提交的節點選出來提交。

對於sourcetree 便是遴選功能。選擇要被提交過來的節點,右擊,選擇遴選選項。

屏幕快照 2020-03-06 下午3.27.10.png

5.如何刪除某個分支中的部分代碼(如develop分支上有a,b,c,d,e五個提交,須要刪除c,d兩次提交)?

情景:好比你把某個功能已經合併到了你的開發分支,同時以後還提交了一些代碼。可是這個功能忽然被告知要下架,這時候如何處理?

首先到達節點a,從該處拉出一個新分支如copy_develop,而後選擇遴選b,e。在回到原來的develop分支,重置到a此次的提交。而後再把copy_develop分支的代碼合併到develop分支便可。

參考文檔

  1. www.jianshu.com/p/2bd317cf6…
  2. www.cnblogs.com/EchoHG/p/76…
相關文章
相關標籤/搜索