合理使用WebStorm-好用的Git工具
本文轉(zhuǎn)載自微信公眾號(hào)「神奇的程序員k」,作者神奇的程序員k。轉(zhuǎn)載本文請(qǐng)聯(lián)系神奇的程序員k公眾號(hào)。
前言
webstorm中集成了世界上最好用的git管理工具,它可以大大提升我們的工作效率,本文就跟大家分享下工作中幾個(gè)常用操作,歡迎各位感興趣的開發(fā)者閱讀本文。
Git管理面板
我們通過webstorm左下角的Git來打開這套集成工具。
打開后的界面如下所示:
- Local Changes 展示你當(dāng)前已修改但未提交的文件
- Log: master 你當(dāng)前所在的分支
- 選中一個(gè)提交記錄,最右側(cè)會(huì)展示當(dāng)前提交記錄所修改的文件
- Local 本地的分支列表
- Remote 遠(yuǎn)程倉庫的分支列表
- 左側(cè)區(qū)域展示的是所有分支列表
- 右側(cè)區(qū)域展示的是當(dāng)前選中分支的提交記錄
如果你看不到左下角的Git,可能是因?yàn)槟汶[藏了Tool Window Bars,在菜單欄View -Appearance - Tool Window Bars將其勾選即可。
如果你對(duì)webstorm不是很熟悉,請(qǐng)移步我的另一篇文章:合理使用WebStorm-環(huán)境配置篇。
常用的操作
接下來跟大家分享下,工作中一些常用的git操作,如何在這套內(nèi)置工具上實(shí)現(xiàn)。
創(chuàng)建分支
當(dāng)項(xiàng)目需求明確后,我們要做的第一件事就是創(chuàng)建一個(gè)新分支來做這個(gè)需求,在這套內(nèi)置git工具中,我們只需在我們需要基于的分支上右鍵選擇New Branch from Selected...即可。
例如:我們想基于master分支創(chuàng)建一個(gè)新的分支
在彈出框中輸入新的分支名,點(diǎn)CREATE即可,如下圖所示,我們給新分支起名為AddMenu
按照上述步驟操作即可完成一個(gè)新分支的創(chuàng)建。
注意:在彈出框中默認(rèn)是創(chuàng)建并選中當(dāng)前創(chuàng)建的分支的,如果你只想創(chuàng)建不想選中,取消彈出框里面的Checkout branch選中即可。
創(chuàng)建完車后,我們可能還需要將這個(gè)分支推到遠(yuǎn)程倉庫,我們?cè)趧?chuàng)建好的分支上右鍵選擇Push...即可。
拉取分支
當(dāng)我們想選中同事的分支,幫同事改bug時(shí),則需要將這個(gè)分支拉到本地,在這套內(nèi)置git工具中我們只需在Remote中找到這個(gè)分支,右鍵選擇Checkout即可。
例如,我們想選中g(shù)ithub_page分支:
選擇后,你會(huì)看到如下圖所示的提示。
合并分支
當(dāng)我們將需求開發(fā)完成,測試通過后,就需要將分支合并到dev去了,在這套內(nèi)置工具中,我們只需要切換分支到dev,然后再需要合并的分支上右鍵選擇Merge into Current即可。
如果有沖突的文件,則需要解決下沖突,如下所示:
- 選中一個(gè)沖突的文件
- 序號(hào)1標(biāo)注 使用當(dāng)前所在分支(dev)的文件
- 序號(hào)2標(biāo)注 使用合并分支的文件
- 序號(hào)3標(biāo)注 比對(duì)兩個(gè)版本的文件差異,解決沖突
如果你選擇了序號(hào)3標(biāo)注的按鈕,將看到如下所示的界面:
- 左側(cè)為dev分支的代碼,中間為最終結(jié)果區(qū)域,右側(cè)為合并分支的代碼
- 序號(hào)1、2、3標(biāo)注的地方為應(yīng)用此處更改到最終結(jié)果區(qū)域
- X的意思是舍棄此處的更改
刪除分支
當(dāng)我們將某個(gè)分支合并到dev后,此時(shí)這個(gè)分支就不需要了,需要將其刪除。
在webstorm中,我們只需在遠(yuǎn)程分支列表中找到這個(gè)分支,右鍵選擇Delete即可
提交代碼
當(dāng)我們修復(fù)了一個(gè)bug,或者完成了一個(gè)模塊的開發(fā)時(shí),需要將代碼提交到本地,然后再推送遠(yuǎn)程倉庫,在webstorm中只需要點(diǎn)擊Toolbar中的commit圖標(biāo)和push圖標(biāo)即可。
如下所示:
在彈出的窗口中,填寫提交信息即可。
提交完成后,點(diǎn)擊推送按鈕即可將本次提交推送到遠(yuǎn)程倉庫。
在彈出的窗口中點(diǎn)push即可。
注意:如果你看不到Toolbar,則需要在菜單欄: view - Appearance - ToolBar將其開啟。
除此之外,你還可以在菜單欄的Git子菜單中去提交/推送,或者按快捷鍵command K / command shift K。
拉取代碼
當(dāng)需要獲取某個(gè)分支上同事修改的最新代碼時(shí),此時(shí)就需要進(jìn)行pull操作,我們只需在webstorm菜單欄的git子菜單下選擇pull即可。
暫存與取出
當(dāng)我們?cè)谀硞€(gè)分支上開發(fā)需求時(shí),突然來一個(gè)加急需求需要你在別的分支改,此時(shí)你的更改又不適宜提交,那么就需要將當(dāng)前更改暫存起來。
我們只需在項(xiàng)目樹上右鍵,選擇Git - Stash Changes...即可將更改暫存,如下圖所示:
在彈出的窗口中填寫保存信息。
緊急任務(wù)開發(fā)完成后,我們切回分支,在項(xiàng)目根目錄右鍵,選擇Git - Unstash Change...即可。
版本回退
當(dāng)我們提交了代碼后,測試那邊測出了很多問題,此時(shí)我們就會(huì)覺得本次提交無意義,需要將其撤銷。
我們只需在Git面板中,選中要回退的git版本,右鍵選擇Reset Current Branch to Here...即可
在彈出的菜單中選擇Mixed選項(xiàng)即可。
注意:如果你的提交已經(jīng)推到了遠(yuǎn)程倉庫,你想刪除遠(yuǎn)程倉庫的記錄,在本地回退后還需要在終端執(zhí)行g(shù)it push --force命令進(jìn)行強(qiáng)推。
強(qiáng)推是危險(xiǎn)命令,如果你回退的版本之后還有別的同事提交的代碼,那么此命令將會(huì)刪除別的同事提交的代碼。
合并部分提交記錄
當(dāng)我們需要將某個(gè)分支的部分提交合并到dev分支時(shí),我們需要用到git cherry-pick命令。
在webstorm中,我們只需切換分支到dev,然后在Git面板中選中需要合并提交的分支,選擇需要合并的記錄,點(diǎn)擊櫻桃圖標(biāo)即可完成合并。
如下所示,我們需要將AddMenu分支的兩個(gè)提交合并到dev分支:
最后,我們切換到dev分支即可看到合并過來的兩個(gè)提交,如下所示: