我們一起在 IDEA 中玩轉 Git
Git 有很多客戶端工具,不過感覺還是命令行操作最好用,方便又快捷,不過命令行操作需要小伙伴們對 Git 命令比較熟練,這可能對有的人來說會有一些難度,所以,客戶端工具有時候也不能拋棄,如果非要推薦一個 Git 客戶端工具,我覺得還是 IDEA 中的 Git 插件吧。其他的 Git 客戶端工具松哥之前也有體驗過一些,不過感覺還是 IDEA 中的用起來更加省事。
今天這篇文章算是我第二次教大家在開發(fā)工具中使用 Git 了,剛畢業(yè)的時候,松哥寫過一篇文章,教大家在 Eclipse 中使用 Git,那時候在 Eclipse 中使用 Git 是真的麻煩,光是插件就要安裝半天,剛剛翻了一下那篇文章,已經是七年前的事情了。
七年之后,Eclipse 也沒了往日的風光,IDEA 逐漸成了開發(fā)的主流工具,咱們今天就來捋一捋 IDEA 中使用 Git。
1. 基本配置
首先你要安裝 Git,這個就不需要我多說了,IDEA 上默認也是安裝了 Git 插件,可以直接使用。
為了給小伙伴們演示方便,我這里使用 GitHub 作為遠程倉庫,如果還有人不清楚 GitHub 和 Git 的區(qū)別,可以在公眾號江南一點雨底部菜單欄查看 Git 教程,看完了就明白了。
從 2021.08.13 號開始,IDEA 上配置 GitHub 有一個小小的變化,即不能使用用戶名密碼的方式登錄了,如果你嘗試用用戶名/密碼的方式登錄 GitHub 提交代碼,會收到如下提示:
Support for password authentication was removed on August 13, 2021.
Please use a personal access token instead.
在 IDEA 上使用用戶名/密碼的方法登錄 GitHub 也會報如下錯誤:
需要我們點擊右上角的 Use Token,使用令牌的方式登錄 GitHub,令牌的生成方式如下:
網頁上登錄你的 GitHub 賬號。
點擊右上角,選擇 Settings:
拉到最下方,選擇左邊的 Developer settings:
選擇左邊的 Personal access tokens,然后點擊右上角的 Generate new token:
填一下基本信息,選一下權限即可(權限需要選擇 repo 和 gist,其他根據(jù)自己的需求選擇):
最后會生成一個令牌,拷貝到 IDEA 中即可,如下:
這就是基本配置。
小伙伴們在公司做開發(fā),一般是不會將 GitHub 作為遠程倉庫的,那么這塊根據(jù)自己實際情況來配置就行了。
2. clone
頭一天上班,首先上來要先 clone 項目下來,IDEA 中有對應的 clone 工具,我們直接使用即可:
這塊也可以直接選擇下面的 GitHub,然后直接從自己的 GitHub 倉庫上拉取新代碼。
clone 完成之后,IDEA 會提示是否打開該項目,選擇 yes 即可。
代碼 clone 下來之后,就可以根據(jù)松哥前文介紹的 Git Flow 開始開發(fā)了。
3. 分支
假設我們先創(chuàng)建 develop 和 release 分支,創(chuàng)建方式如下,選中當前工程,右鍵單擊,然后依次選擇 Git->Repository->Branches...:
或者依次點擊頂部的 VCS->Git->Branches...:
當然兩個方式都比較麻煩,直接點擊 IDEA 的右下角最為省事,也是最常用的辦法,如下圖:
選擇 New Branch,然后創(chuàng)建新的分支,勾選上 Checkout 表示分支創(chuàng)建成功后,切換到該分支上,如下:
選擇一個分支,然后點擊 Checkout,可以切換到該分支上:
接下來我們把 develop 分支提交到遠程倉庫,如下:
我們沒有修改代碼,所以直接點擊 Push 按鈕提交即可。
提交完成后,develop 后面多了 origin 前綴,Remote Branches 中也多了 develop 分支,說明提交成功。
現(xiàn)在假設我們想從 develop 上拉一個名為 feature-login 的分支,來完成登錄功能,如下:
從創(chuàng)建的日志中,我們能看到 feature-login 確實是來自 develop:
好啦,接下來我們就可以愉快的開啟一天的工作啦~
feature-login 上的功能開發(fā)完成后,首先點擊 IDEA 的右上角完成本地倉庫的提交,如下圖:
填入提交的 Message,下方也能看到不同版本的內容對比,點擊右下角完成代碼提交,注意這個只是提交到本地倉庫。
由于我們并不會將 feature-login 提交到遠程倉庫,所以接下來我們要將 feature-login 合并到 develop 然后將最新的 develop push 到遠程倉庫,操作方式如下:
切換回 develop 分支。
選擇 feature-login->Merge into Current 進行合并。
合并完成后,如需刪除 feature-login 分支,也可以在 IDEA 日志中順手刪除:
不過上面介紹的合并是快速合并,即讓 develop 的指針指向了 feature-login,很多時候我們可能需要加上 --no-ff 參數(shù)來合并,那么步驟如下:
從 feature-login 切換回 develop 分支,然后如下:
此時我們看一眼提交日志,如下:
從這日志中也可以看出,此時不是快速合并模式了!
最后,選擇 develop->Push,將代碼提交到遠程倉庫。
4. pull在 IDEA 中,如需從遠程倉庫中更新代碼,點擊右上角的按鈕即可,如下圖:
好啦,這就是一個大致的流程。
當然 Git 博大精深,IDEA 中支持的功能也非常多,其他功能就需要小伙伴們自己來摸索了,有不明白的歡迎留言討論。