一個能夠提升開發效率的Git命令-- Cherry-Pick

在實際的項目開發中(使用Git版本控制),在所不免會遇到沒有切換分支開發、須要在另外一個分支修改bug而後合併到當前分支的狀況。以前遇到這種第一反應就是將分支合併過去來解決問題。若是你那些提交當中也穿插了其餘人的提交併且他們的提交不能夠合併到另外一個分支,那麼使用分支的合併將明顯變得困難。下面分享給你們一個很是好用Git的命令Cherry-Pick來處理這些狀況,從而提升開發的效率。git

What is Cherry-Pick ?

git Cherry-Pick命令能夠選擇某一個分支中的一個或幾個commit(s)來進行操做。你能夠理解merge的個性定製版本,哈哈~~github

How use Cherry-Pick

假設咱們有兩個分支,一個是master分支,一個是從master分支Git Commit Log爲「修改側欄內容」新建出來的dev分支。express

master分支

dev分支

如今須要將master分支下的git Log commit "修改側欄的點擊跳轉方式"合併到dev分支。也許你可能想到將這個Log上面的Logs先Revert,而後再將master分支合併到dev分支。下面記錄一下怎麼使用Cherry-Pick來合併一個或者多個提交。apache

  • 先將當前分支切換到dev分支。app

    ![切換到dev分支](http://7xrnko.com1.z0.glb.clouddn.com/git-cherry-pick/4.png)
  • 打開master的全部提交Log,找到須要合併到dev分支的提交,這裏咱們找到「修改側欄的點擊跳轉方式」這個提交,而後點擊右擊選擇菜單彈出Cherry-Pick命令。框架

    ![](http://7xrnko.com1.z0.glb.clouddn.com/git-cherry-pick/8.png)
  • 接着,IDE會彈出熟悉的提交提示框架,這時咱們點擊Commit或者Commit and Push...就能夠將須要合併的提交合併到dev分支了。
    這裏我選擇了Commit and Push...less

![](http://7xrnko.com1.z0.glb.clouddn.com/git-cherry-pick/6.png)

查看dev分支的Log能夠看到那個提交已合併到dev。ui

Note

當你須要將某些提交合併到另外一分支的時候,必定必定必定要按提交的順序進行合併,否則會致使某些文件發生衝突。這也是我實際項目中踩過的坑。this

End

  1. 當你的需求尚未完成的時候,其餘人應該切換到另外一分支開發的時候,你能夠先在當前分支繼續開發完,而後再選擇Cherry-Pick命令合併過去就能夠了。spa

  2. 當你須要將某我的的commits合併到另外一開分時候,能夠選擇Cherry-Pick命令。(在實際的項目開發中,在所不免有人會提交錯分支)

  3. 當你切換到某條分支修改Bug後,須要將修改提交合並另外一分支,能夠選擇Cherry-Pick命令。


這是一個很是好用、有趣的命令,它提升了個人開發效率~~在此,分享給大夥,但願能夠幫忙到更多的人!
點擊關注我

License

Copyright 2017 zhonghanwen

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
相關文章
相關標籤/搜索