由于項(xiàng)目中分支很多經(jīng)常遇到一些比如說(shuō)需要回退的操作,由于不經(jīng)常使用這些Git命令特此記錄.
一遭铺、放棄本地已修改的代碼,拉取遠(yuǎn)程倉(cāng)庫(kù)最新代碼進(jìn)行合并(相當(dāng)于回退:由于本地合并或者切換分支是可能會(huì)造成本地代碼倉(cāng)庫(kù)崩潰無(wú)法運(yùn)行,對(duì)于本地的項(xiàng)目中修改不做保存操作(或代碼改崩)自脯,可以用到Git pull的強(qiáng)制覆蓋)
1皮官、下載遠(yuǎn)程倉(cāng)庫(kù)最新內(nèi)容宝惰,不做合并
git fetch --all
2憎妙、把hard指向master(你當(dāng)前所在崩潰分支)最新版本
git reset --hard origin/master
3壶唤、拉取更新代碼(可以省略)
git pull
截圖如下:
二稳诚、有的時(shí)候杨拐,在develop分支開發(fā)祈餐,是大家公用的開發(fā)分支,但是只想合并自己提交的到master,如何操作呢哄陶?那就要用cherry-pick了帆阳。
方法一:利用git命令解決
語(yǔ)法:
git cherry -pick commitid
首先,git log查看自己提交的log屋吨,找到版本號(hào)蜒谤,如最近的版本號(hào)是 ee3c72
然后,切換到想要合并的分支至扰,如想把develop的合并到master鳍徽,切換到master,執(zhí)行 git cherry-pick ee3c72,執(zhí)行完之后,提交就會(huì)在master上體現(xiàn)了敢课,然后push,就可以了阶祭。
方法二:如果你是用的idea工具的話可以這么操作:
選擇idea 底部 Version Control查看提交日志
然后選擇你想要合并節(jié)點(diǎn)的分支(origin/h...)
右鍵 有一個(gè)Cherry-Pick 這個(gè)就是合并某個(gè)分支節(jié)點(diǎn)的 其實(shí)和命令是一個(gè)道理的 只不過(guò)idea給工具化了更方便使用了
然后就會(huì)有一個(gè)彈窗出現(xiàn) 這個(gè)就是合并分支和你當(dāng)前分支的一些沖突
然后就是解決沖突的過(guò)程,這個(gè)應(yīng)該不需要我再教了吧 (左邊是本地代碼,右邊是拉取分支的代碼,中間是你Apply的代碼,合并到中間然后應(yīng)用,想用哪邊的代碼直接點(diǎn)擊箭頭就可以)
當(dāng)然最下面也給出了其他的操作方式 (Accept Left)使用左邊的代碼,(Accept
Right)使用右邊的代碼,(About)終止忽略的意思 類似于cancel,(Apply)應(yīng)用中間的代碼,也就是剛開始說(shuō)的合并到中間的代碼
,然后解決完沖突就ok了
本身到這里就應(yīng)該結(jié)束的,但是由于可能代碼量比較大或者合并中出現(xiàn)了問題,比較著急的小伙伴應(yīng)該會(huì)很難受,這里有一個(gè)解決辦法就是看我第一個(gè) Git不常用命令行可以試著回退到倉(cāng)庫(kù)最新代碼(本地代碼不會(huì)被保存需要重新搞),然后又可以愉快的玩耍了美滋滋,試他個(gè)一百遍不香么,再也不用擔(dān)心合并代碼出問題了(注意 :回退到倉(cāng)庫(kù)最新代碼不會(huì)保存本地修改的代碼哦 回退到倉(cāng)庫(kù)最新代碼不會(huì)保存本地修改的代碼 回退到倉(cāng)庫(kù)最新代碼不會(huì)保存本地修改的代碼哦重要的事情說(shuō)三遍)這個(gè)大家要注意