天天看點

【開發工具】-- IDEA內建Git在實際項目中的運用

1.企業實際項目中Git的使用

在實際的企業項目開發中,我們一般Java的項目在公司都有自己的區域網路代碼倉庫,倉庫上存放着很多的項目。以我工作過的公司如華為的項目,一般是存放在企業内部的CodeHub上;CETC電科是存放在碼雲Gitee的企業版倉庫上。而基于Git的使用不再是老掉牙的原始Git指令行,或者是一般的TortoiseGit。

我們在企業中開發經常使用的是基于IDEA內建Git工具進行代碼的送出,既友善又快捷。同時也是很多有經驗的面試官會常用來面試考驗教育訓練班新手和實際開發者的正常性面試問題。

其實企業開發規範的IDEA送出代碼也就那麼點要掌握的知識:Git Clone拉代碼倉庫(項目)、IDEA內建git管控項目、Commit/Push、Pull/Stash;當然這是在IDEA中的操作,一個字,熟能生巧,就是靈活。下面我們就簡單來梳理和掌握吧。

我這裡以Gitee上面的一個開源項目:若依來說明,下面是這個項目的位址,其實和企業中的項目開發類似,大家可以把它想象成是一個企業内網的托管代碼的倉庫位址。

https://gitee.com/zhangmrit/ruoyi-cloud?_from=gitee_search

【開發工具】-- IDEA內建Git在實際項目中的運用

1.1.項目的Git Clone

進入到項目中,第一天你肯定得搭個環境、拉個項目,熟悉一下這個項目的代碼吧。是以我們來把這個項目從Gitee拉取到我們本機開發的電腦上。

這個我沒什麼好說的,你是用老烏龜還是IDEA都能把這個項目拉取到本地。就是複制代碼庫的位址,使用老烏龜的Git Clone使我們一般的方法,直接可以把項目代碼Clone到本地代碼庫。

【開發工具】-- IDEA內建Git在實際項目中的運用

 而重點是IDEA中的配置,老烏龜落後了,不靈活,項目都用IDEA,你一個人好意思說你沒用過~~~,尴尬。

在Git中找到Clone,将剛才複制下來的URL位址粘貼進去,之後點選下面的Clone按鈕即可。(我是用的IDEA2021,公司都用最新版本,用着爽啊!)

【開發工具】-- IDEA內建Git在實際項目中的運用
【開發工具】-- IDEA內建Git在實際項目中的運用

 好了項目Clone完畢了,IDEA會自動提示你在新視窗中打開我們Clone下來的項目,選擇New Window,在新打開的視窗中就可以看到你Clone的項目,配置好Maven之後,就可以讓它去下載下傳對應的依賴建構你的項目了。一般公司的項目就像這個開源項目一樣,建構依賴還是有點久的,10分鐘左右吧。哈哈,漫長~

【開發工具】-- IDEA內建Git在實際項目中的運用

 經過這個步驟,我們就完成了公司項目的拉取和本地建構的工作,IDEA還是很nice的!

1.2.IDEA內建Git管控項目

在實際項目開發中,我們剛才拉取的分支是master分支,也就是主分支,這個一般是釋出版本分支。而我們一般開發使用Dev分支,不會直接在master分支上進行開發。是以在公司我們會看到Clone的分支上有很多分支,我們需要選擇對應的分支進行拉取開發,一般我們會要求在項目上Fork自己的代碼倉庫,單獨自己建構一個代碼庫,免得你在master或者大dev分支上亂搞。而對應Java團隊開發這是非常必要的。

是以我們忘記上面的操作,重新拉取一遍自己的分支。

①Fork自己的代碼倉庫:

【開發工具】-- IDEA內建Git在實際項目中的運用

 ②使用Fork的url按照1.1中的步驟重新建構自己的項目,同時說明一下在IDEA中對應Git的使用需要關聯本機上安裝的Git.exe位置:

【開發工具】-- IDEA內建Git在實際項目中的運用

1.3.Commit和Push操作

可以看到若依這裡有兩個分支:一個是master分支,另外一個是nacos分支,在公司中可能除了master分支外就是dev分支,或者是test分支等等很多分支,我們一般選擇dev分支的代碼進行checkout即可。這裡我切換到了nacos分支(假裝它是dev分支)。實際操作也就是選擇對應的分支進行切換就行。

【開發工具】-- IDEA內建Git在實際項目中的運用

 很快我就發現了項目中的GenUtils中的代碼注釋有問題,這裡進行了對應修改補充,使用Git的Commit指令,可以聯合Push指令進行遠端代碼的推送。

但是注意:在推送的過程中,我們開發項目可能有别的同時已經向總的版本Dev分支上送出了新的代碼,那麼我們進行Push的同時需要Pull拉取遠端的Dev分支上最新的代碼看是否存在沖突Confilct,如果有沖突,需要優先解決沖突。

添加遠端Dev分支(總的Dev分支,項目的大開發分支:所有人的代碼都統一合入到這個大Dev_remote分支上)

【開發工具】-- IDEA內建Git在實際項目中的運用

Pull拉取大分支上最新的代碼:

【開發工具】-- IDEA內建Git在實際項目中的運用

 選擇Git -- Commit送出自己的代碼,同時可以選擇Push将代碼推送到local的Fork倉庫

【開發工具】-- IDEA內建Git在實際項目中的運用

1.4.建立Pull Request進行Dev代碼合并

這裡就是把自己的代碼向Dev大的開發分支合并,送出自己的工作量代碼啦!

這裡需要我們點選Pull Requests,建立一個合并請求,用于将自己寫的代碼向遠端總的Dev分支上合并代碼。

【開發工具】-- IDEA內建Git在實際項目中的運用

 這樣就完成了自己開發分支的代碼送出。

1.5.Pull和Stash操作

剛才已經說明了,Pull操作就是從遠端分支拉取代碼,更新最新的代碼到自己本地代碼庫。對應操作為:Git -- Pull

選擇對應是Dev分支的Url就行(開發大版本庫的Url),不是個人Fork的那個開發倉庫位址。

【開發工具】-- IDEA內建Git在實際項目中的運用

Stash操作:

Stash可以在你寫了很多的代碼類時,比如有10-20多個新檔案,我一下子從遠端拉取會有很多沖突的時候,我就可以用Stash操作把自己的代碼優先推送到本地倉庫。

如下,我這裡寫了一個很完美的RedisUtil工具類,但是和遠端上面有了一個Redis工具類,我這個工具類就顯得多餘,但是我又不想有沖突,這裡就用IDEA的Stash緩存我的代碼。

【開發工具】-- IDEA內建Git在實際項目中的運用

 點選Create Stash之後,你本地的所有新檔案更新的代碼都會暫存到本地倉庫中,沖突檔案也會從項目中消失,這樣你就可以拉取Pull到Dev最新的代碼,完全不用擔心有任何沖突(這裡就不同于直接Commit從遠端Pull代碼,如果有沖突Pull不會成功的,會有很多沖突的檔案需要處理)。

Stash之後,可以直接絲滑地拉取遠端代碼。