由于項目中分支很多經常遇到一些比如說需要回退的操作,由于不經常使用這些Git命令特此記錄.
一、放棄本地已修改的代碼,拉取遠程倉庫最新代碼進行合并(相當于回退:由于本地合并或者切換分支是可能會造成本地代碼倉庫崩潰無法運行,對于本地的項目中修改不做保存操作(或代碼改崩),可以用到Git pull的強制覆蓋)
1、下載遠程倉庫最新內容,不做合并
git fetch --all
2、把hard指向master(你當前所在崩潰分支)最新版本
git reset --hard origin/master
3、拉取更新代碼(可以省略)
git pull
截圖如下:
二、有的時候,在develop分支開發,是大家公用的開發分支,但是只想合并自己提交的到master,如何操作呢?那就要用cherry-pick了。
方法一:利用git命令解決
語法:
git cherry -pick commitid
首先,git log查看自己提交的log,找到版本號,如最近的版本號是 ee3c72
然后,切換到想要合并的分支,如想把develop的合并到master,切換到master,執行 git cherry-pick ee3c72,執行完之后,提交就會在master上體現了,然后push,就可以了。
方法二:如果你是用的idea工具的話可以這么操作:
選擇idea 底部 Version Control查看提交日志
然后選擇你想要合并節點的分支(origin/h...)
右鍵 有一個Cherry-Pick 這個就是合并某個分支節點的 其實和命令是一個道理的 只不過idea給工具化了更方便使用了
然后就會有一個彈窗出現 這個就是合并分支和你當前分支的一些沖突
然后就是解決沖突的過程,這個應該不需要我再教了吧 (左邊是本地代碼,右邊是拉取分支的代碼,中間是你Apply的代碼,合并到中間然后應用,想用哪邊的代碼直接點擊箭頭就可以)
當然最下面也給出了其他的操作方式 (Accept Left)使用左邊的代碼,(Accept
Right)使用右邊的代碼,(About)終止忽略的意思 類似于cancel,(Apply)應用中間的代碼,也就是剛開始說的合并到中間的代碼
,然后解決完沖突就ok了
本身到這里就應該結束的,但是由于可能代碼量比較大或者合并中出現了問題,比較著急的小伙伴應該會很難受,這里有一個解決辦法就是看我第一個 Git不常用命令行可以試著回退到倉庫最新代碼(本地代碼不會被保存需要重新搞),然后又可以愉快的玩耍了美滋滋,試他個一百遍不香么,再也不用擔心合并代碼出問題了(注意 :回退到倉庫最新代碼不會保存本地修改的代碼哦 回退到倉庫最新代碼不會保存本地修改的代碼 回退到倉庫最新代碼不會保存本地修改的代碼哦重要的事情說三遍)這個大家要注意