本文介紹使用IDEA控制Git操作
關聯本地Git客戶端
首先要根據系統環境安裝Git客戶端
然后使用File --> Settings --> Version Control --> Git配置客戶端安裝目錄
創建本地倉庫
根據項目要求創建自己的項目
然后使用VCS --> Import into Version Control --> Create Git Repository...在項目上創建Git倉庫
創建成功后會在項目文件夾內出現.git 目錄
克隆遠程倉庫
我們可以通過兩種方式克隆Git項目。
第一種,通過其他工具(如:Git Bash)將Git項目克隆到本地,然后使用IDEA直接打開項目。File --> Open...
第二種,使用IDEA從版本庫直接導入項目。File --> New --> Project from version control --> Git
我們需要填寫Git版本庫URL、存儲目錄
提交代碼
我們如果希望文件被Git管理那我們就要將文件進行add操作。
在IDEA中我們只要對某個文件設置一次add,之后就不用在手動進行add了。
文件右鍵 --> Git --> Add
提交代碼時我們使用 文件右鍵 --> Git --> Commit Directory...進行提交
分支管理
分支管理主要集中在IDEA的右下角操作區。
主菜單功能
New Branch : 從當前分支新建分支。上圖就是從master分支創建新的分支。
Checkout Tag or Revision : 使用分支、標簽或提交編碼,檢出一個臨時分支。
Local Branches : 本地分支列表。同時顯示對應了那個遠程分支。
Remote Branches : 遠程分支列表。
本地分支菜單
Checkout : 檢出這個分支。
Checkout As... : 使用這個分支創建新的分支並檢出到新分支。
Compare With... : 使用當前分支與所選分支做代碼提交比較。
Rebase Current onto Selected: 在當前分支做變基。(將所選分支提交加入到當前分支)
Checkout with Rebase : 檢出所選分支並做變基。(將當前分支提交加入到所選分支)
Merge into Current: 合並到當前分支(將所選分支合並到當前分支)
Rname:修改所選分支名稱
Delete :刪除所選分支
遠程分支菜單
Checkout As... : 使用遠程分支創建一個新的本地分支,並檢出這個分支。
Compare With : 使用當前分支與所選分支做代碼提交比較。
Rebase Current onto Selected : 在當前分支做變基。(將所選分支提交加入到當前分支)
Merge into Current: 合並分支(將當前分支與所選分支進行合並)
Delete :刪除所選分支
本地分支推送到遠程倉庫
檢出要推送的分支,然后項目右鍵 --> Git --> Repository --> push
push的時候會有new標簽提示會在遠程新建分支
標簽管理
檢出要打標簽的分支,然后Git --> Repository --> Tag...
本地標簽推送到遠程倉庫
項目右鍵 --> Git --> Repository --> push
然后選中底部的Push Tags。我們可以選擇推送所有標簽還是當前分支標簽。
代碼拉取、推送
代碼拉取項目右鍵 --> Git --> Repository --> pull
代碼推送項目右鍵 --> Git --> Repository --> push
變基操作
普通變基
選擇分支執行變基操作。這里需要注意當前分支為補丁分支,選中的分支為基底分支。也就是說當前分支提交會添加在選中分支提交之后。
合並提交(交互式變基)
在代碼沒有pull前我們可以在本地分支進行提交的合並。這樣會使得遠程分支不去關心本地開發過程日志,而使得遠程日志干凈整潔。
變基前log
找到要合並的第一條log,然后右鍵選擇Interactively Rebase from Here...進行交互式變基
(此選項低版本IDEA可能沒有請更新到2018版以上)
除題一條外其他全部選擇squash隨前面的提交一並提交
編輯交互式變基提交說明。默認顯示合並的所有提交的內容,我們也可以添加和修改內容。
變基后日志
查看提交日志
log頁簽
查看控制台
console頁簽。在控制台中我們可以看到實際執行的git命令,可以幫助我們查找問題。
儲藏工作區
有時我們需要經正在編寫的代碼臨時儲藏,然后去修改一些bug,完成bug修改后進行恢復。這時我們可以使用代碼儲藏。
項目右鍵 --> Git --> Repository --> Stash Changes
填寫儲藏名稱
這是我們會發現修改的代碼不見了。
之后我們要恢復儲藏區的內容
項目右鍵 --> Git --> Repository --> UnStash Changes
選擇要恢復的暫存名稱並恢復暫存
這時我們發現修改的代碼又回來了
提交回退
我們如果想要放棄最近一次提交的內容可以使用提交回退
回退前log
項目右鍵 --> Git --> Repository --> Reset HEAD...
執行回退(HEAD后面加幾個^就回退幾次提交)
執行后日志
管理遠程倉庫地址
項目右鍵 --> Git --> Repository --> Reotes...
提交應用(挑櫻桃)
我們可以使用提交應用的方式,將一次提交應用在其他分支上。
首先我們要切換至需要應用提交的分支上。
然后在log界面找到那次提交,右鍵 --> Cherry-Pick