IDEA集成Git操作

環境準備

開始前請配置一下相關軟件(並不要求版本一致):

OS: Windows7
Git:2.19.1
IDEA: 2017.2.2

注意:本案例源碼GitHub倉庫

本地Git安裝與SSH祕鑰

Git安裝
Git相關配置

GitHub祕鑰配置

頭像下拉箭頭–>Setting–>SSH and GPG keys–>new SSH Key,將
在這裏插入圖片描述
在這裏插入圖片描述
標題隨便寫,key放入Git生成的SSH公鑰。
在這裏插入圖片描述

注意:id_rsa.pub直接用文本編輯器打開即可。

IDEA配置Git

File–Other Setting–>Default Settings–>Version Control–>Git
在這裏插入圖片描述
在這裏插入圖片描述

  1. 配置本地安裝Git所在目錄
  2. 選擇使用本地Git SSH祕鑰文件
  3. 測試是否成功。

推送本地項目到GitHub

新建測試項目

在這裏插入圖片描述

創建本地倉庫

對新建項目使用Git版本管理控制工具:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述

注意:項目的本地Git倉庫默認位置爲項目路徑下。

項目提交本地倉庫

  1. 將項目加入到Git版本管理中:項目右鍵–>Git–>Add
    在這裏插入圖片描述
  2. 提交到本地倉庫:項目右鍵–>Git–>Commit Directory
    在這裏插入圖片描述
    填寫提交信息
    在這裏插入圖片描述
    提交成功,IDEA右下角彈出成功提示
    在這裏插入圖片描述

推送至GitHub

如果遠程倉庫沒有對應倉庫:
在這裏插入圖片描述 在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述
如果遠程倉庫有對應倉庫:項目右鍵–>Git–>Repository–>Push;
在這裏插入圖片描述
指定對應Repository,然後Push.
在這裏插入圖片描述

URL:對應GitHub上Repository的URL

從GitHub上檢出項目

VCS–>Checkout from Version Control–>Git
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

問題一:在檢出項目時出現以下提示,解決方案
在這裏插入圖片描述

問題二:Maven項目src下的代碼不顯示,解決方案
在這裏插入圖片描述

提交和下拉

提交

當我們對本地代碼有修改時,如增加、修改、刪除等,爲了讓同事知道我們的最新代碼,我們就需要將代碼上傳至Git遠程倉庫中,代碼從本地上傳至遠程倉庫就需要push,步驟如下:

  • 提交至本地倉庫–>commit
  • 推送到遠程倉庫–>push

例如我們在項目中增加一個HelloWorld類,並且修改README.md文件的內容;
在這裏插入圖片描述
將新增文件提交到本地倉庫:項目右鍵–>Git–>Commit Directory
在這裏插入圖片描述
填寫提交信息,點擊commit
在這裏插入圖片描述
推送到遠程倉庫:項目右鍵–>Git–>Repository–>Push
在這裏插入圖片描述
可以看到本地提交了幾次,這裏我不小心多提交了次。確認無誤點擊push;
在這裏插入圖片描述
IDEA右下角會出現以下提示,說明成功推送到遠程倉庫中:
在這裏插入圖片描述
查看GitHub中,文件成功上傳至GitHub並且有了本次提交記錄:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

下拉

考慮一個問題,如果同事也修改了README.md文件,那麼我們直接推送就會覆蓋他的代碼,爲了避免這個問題,我們需要在push之前將遠程倉庫上最新的代碼下拉至本地,這就是pull.
我們在新檢出的項目IDEA_Git02中下拉IDEA_Git剛剛推送的代碼:項目右鍵–>Git–>Repository–>Pull
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

分支操作

創建分支

在IDEA中創建新的分支:項目右鍵–>Git–>Repository–>Branches…–>New Branch
在這裏插入圖片描述
在這裏插入圖片描述
填寫分支名稱,點擊OK
在這裏插入圖片描述
點擊IDEA右下角:Git:dev就可以知道分支已經建好,且當前分支是dev;
在這裏插入圖片描述

注意:此時分支是在本地存在,遠程倉庫並不存在,因此我們需要利用我們前面講的提交,推送到遠程倉庫。
在這裏插入圖片描述
推送後我們可以在遠程倉庫中看到dev分支:
在這裏插入圖片描述

分支切換

點擊IDEA右下角:Git:dev我們可以看到本地有dev和master兩個分支且當前分支爲dev;
在這裏插入圖片描述
點擊master分支上的小箭頭,選擇Checkout就會切換到master分支上。
在這裏插入圖片描述
在這裏插入圖片描述

分支合併

當我們在dev分支上做了修改,那麼我們要把dev上的修改合併到master分支上:
在這裏插入圖片描述
將當前分支切換至master
在這裏插入圖片描述
選擇dev分支–>Merge
在這裏插入圖片描述

這裏分Merge的意思是將選中分支合併到IDEA當前所在分支。

在這裏插入圖片描述
查看master分支,發現已經合併。
在這裏插入圖片描述

分支刪除

在某些情況下我們需要刪除某些分支,那麼我們需要在IDEA中刪除本地分支,再推送至遠程倉庫:
我新建一個uat分支,我們刪除這個分支。
在這裏插入圖片描述
點擊uat分支–>Delete
在這裏插入圖片描述
刪除成功。
在這裏插入圖片描述

遠程倉庫版本回退

在IDEA中操作GIt倉庫遠程版本回退步驟如下:

  1. 修改相關文件並提交作爲版本回退測試:
    在這裏插入圖片描述
  2. 打開Git歷史提交記錄:項目右鍵–>Git–>Show History
    在這裏插入圖片描述

在這裏插入圖片描述
3. 複製版本號:複製要回退到的舊版本號和當前最新版本號
版本號右鍵–>Copy Revision Number
在這裏插入圖片描述
當前版本號:4bd216941c9fb973ba1d65c9950e1cab1cf2cd2f
舊版本號:d35a96ba85a27a4e78c17c60478e6bbc806d1b78
4. 版本回退:右鍵項目–>Git–>Repository–>Reset HEAD…
在這裏插入圖片描述
在這裏我們需要了解Reset Type:hard、soft、mixed的區別
在這裏插入圖片描述
在這裏插入圖片描述
此時沒有改變提交,但是Push會提示衝突錯誤,解決辦法如下兩種方法:
方法一:使用Hard會退本地代碼,使用Git命令強制提交,本方法會將原有提交記錄全部抹除

git push -f
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
重新使用Hard回退操作,會退回最新版本,並且push到遠程倉庫。
方法二:先使用Hard操作回退本地代碼,再使用Mixed操作回退至新版本,再提交push。該方法本質上相當於一次修改提交而已。
在這裏插入圖片描述
使用Mixed將版本號回退到最新版本號
在這裏插入圖片描述
在這裏插入圖片描述

文件對比

在Eclipse中我們可以很方便的與本地和遠程分支對比文件的改變,IDEA中也可以做到這樣的功能,不過不同的一點是,Eclipse中是實時維護本地遠程分支與遠程分支的信息,而IDEA不是,需要手動Fetch遠程倉庫分支的索引。
首先在IDEA_Git02修改文件並提交到遠程分支:
在這裏插入圖片描述
切換回IDEA_Git:

  1. 執行fetch更新本地遠程分支代碼索引:右鍵項目–>Git–>Repository–>Fetch
    在這裏插入圖片描述
  2. 進行文件對比:右鍵項目或右鍵要對比的文件–>Git
  3. 在這裏插入圖片描述
    這裏需要解釋在四個選項的含義:
  • Compare with the Same Repository Version:與本地倉庫相同版本比較
  • Compare with Latest Repository Version:與本地倉庫最新版本比較,注意這裏的本地倉庫維護這遠程倉庫的索引信息,如果Fetch後的最新版本就是遠程倉庫的最新版本。
  • Compare with…:與選擇的版本比較
  • Compare with Branch:與選擇的分支比較

瞭解了以上四個選項的意義就可以自由的對比了,無論是與遠程版本對比還是本地版本對比。我們這裏主要使用第四個選項與遠程master分支比較。
在這裏插入圖片描述
我們可以在文件對比工具中進行提前合併等等操作。

衝突文件處理

首先我們在IDEA_Git並提交至遠程倉庫:
在這裏插入圖片描述
IDEA_Git02上修改同一文件並提交至本地倉庫:
在這裏插入圖片描述
在IDEA_Git02上pull文件,出現文件合併工具,根據需要選擇:
在這裏插入圖片描述
根據差異進行合併,並提交至遠程倉庫。
在這裏插入圖片描述

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章