Eclipse中使用Git——快速入門教程

前言

Git簡介

git是目前流行的分佈式版本管理系統。它擁有兩套版本庫:本地庫和遠程庫,在不進行合併和刪除之類的操作時這兩套版本庫互不影響。也因此其近乎所有的操作都是本地執行,所以在斷網的情況下任然可以提交代碼,切換分支。git又使用了SHA-1哈希算法確保了在文件傳輸時變得不完整、磁盤損壞導致數據丟失時能立即察覺到。

Git的基本工作流程的示例圖:
在這裏插入圖片描述
相關命令的作用:

  • git clone:將遠程倉庫的代碼克隆到本地倉庫
  • git checkout:切出分支出來開發
  • git add:將文件加入暫存區
  • git commit:將暫存區改變的代碼提交到本地代碼庫中
  • git push: 將本地倉庫中的代碼提交到遠程倉庫

Eclipse中的Git插件(EGit)簡介

(Eclipse從LUNA版本開始默認支持了GIT客戶端)在Eclipse中安裝Git插件教程:https://blog.csdn.net/qq_32786873/article/details/80917058

Eclipse中對於git的操作都在項目的右鍵菜單中的Team、Replace With、Compare With中。
在這裏插入圖片描述

如果學習了Git,對於Team中的一些選項都能看名字知道其作用。下圖標註了常用選項的功能:
在這裏插入圖片描述

下面是我學習過程中總結的一些操作。

一、把工程初始化爲本地庫

1.選擇工程→右鍵→Team→Share Project,打開如下頁面:
在這裏插入圖片描述
2.勾選了複選框後進入頁面轉換成這樣:
在這裏插入圖片描述
執行完上圖的操作後,就完成了這個工程的本地庫初始化。在這個工程的目錄中就多了個隱藏的.git文件夾。
在這裏插入圖片描述

二、設置本地庫範圍簽名

1.在Eclipse中,點擊頂部菜單欄的Window–>preferences–>Team–>Git,進入如下頁面:
在這裏插入圖片描述
2.點擊add Entry按鈕,然後在如下頁面添加用戶信息:
在這裏插入圖片描述
3.添加完成後,點擊Apply按鈕即完成了本地庫簽名的配置。
在這裏插入圖片描述

三、Eclipse中Git圖標介紹

1.在Eclipse中,點擊頂部菜單欄的Window–>preferences–>Team–>Git–>Label Decorations,就可以看到Git圖標介紹:
在這裏插入圖片描述

四、忽略Eclipse中的特定文件

Eclipse項目中的特定文件是爲了管理我們創建的工程的文件,包括了.classpath文件,.project文件,以及.setting目錄下的文件。這些文件可以在Navigator視圖下查看:
在這裏插入圖片描述
因爲同一個團隊中很難保證大家都使用相同的IDE工具。而IDE工具的版本不同時,相關工程的特定文件就有可能不同。如果將這些文件加入到版本控制中,就有可能需要花時間解決在合併時的衝突情況。

下面來設置git忽略Eclipse中的特定文件和target目錄(這個目錄下包含的是工程編譯後的字節碼文件)下的文件。

1.首先找到GitHub官網提供的默認的關於Java的配置文件https://github.com/github/gitignore/blob/master/Java.gitignore,然後複製這裏的內容。
在這裏插入圖片描述
這裏直接複製了過來:

# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

2.然後在.gitconfig文件的目錄(默認是~/.gitconfig)下,創建一個Java.gitignore(這裏的名字隨意)文件,然後粘貼上面的內容,並添加以下幾行。

.classpath
.project
.settings
target

在這裏插入圖片描述
3.編輯~/.gitconfig文件引入上面創建的文件,添加內容如下:

[core]
        excludesfile = C:/Users/LENOVO/Java.gitignore

注意:這裏路徑中一定要使用“/”,不能使用“\”。

4.然後在Eclipse中打開Window–>preferences–>Team–>Git–>Configuration,查看key是否有core。
在這裏插入圖片描述
可以看到core中的excludesfile配置。此時重啓Eclipse,就能看到上面配置的文件都被Git忽略了。
在這裏插入圖片描述

五、本地庫基本操作

1.選擇Windows–>Show View–>Other,搜索Git Staging。這裏還可以選擇打開Git Reflog等可視化界面。
在這裏插入圖片描述
點擊Open即可打開如下視圖,可以很方面的查看工作區和暫存區的文件情況,也可以快速執行提交和推送操作。
在這裏插入圖片描述

2.將工程添加到暫存區,右擊工程名–>Team->add to index,此時工程的圖標就變成這樣:
在這裏插入圖片描述
3.提交處在暫存區的工程到本地庫,右擊工程名–>Team->commit(快捷鍵ctrl+#),跳出這個頁面(Eclipse版本不同,提交頁面不一樣):
在這裏插入圖片描述
填寫Commit Message後點擊Commit按鈕,即完成提交到本地庫的操作。

其實我們也可以直接執行commit操作,不需要先添加工程到暫存區(index)。

六、將本地工程推送到遠程庫(GitHub)

1.首先在GitHub中創建有一個倉庫,並複製倉庫地址。
在這裏插入圖片描述
2.在Eclipse中,右擊工程名–>Team–>Remote–>Push,打開如下頁面並填寫項目地址和GitHub的賬號和密碼。
在這裏插入圖片描述
3.點擊Next按鈕,進入下面的頁面:
在這裏插入圖片描述
4.然後點Next,在這裏確定推送的結果和具體信息。
在這裏插入圖片描述
最後點擊Finish即完成了推送操作。

七、將遠程庫的工程克隆到本地

下面直接在Eclipse中克隆GitHub中的工程到Eclipse工作區中。

1.頂部導航欄File-->import-->Git-->Projects from git,點擊Next進入下一步
在這裏插入圖片描述
2.選擇Git倉庫類型:本地庫或遠程庫。這裏選擇Clone URI。點擊Next進入下一步。
在這裏插入圖片描述
3.填寫遠程倉庫的URI,然後點擊Next,選擇分支。
在這裏插入圖片描述
4.選擇完分支後,然後就選擇本地保存的位置(建議保存在Eclipse的工作目錄下),點擊Next進入下一步。
在這裏插入圖片描述
5.選擇如何導入這個工程,選擇Import as general project
在這裏插入圖片描述

  • 這裏的Import existing Eclipse Projects,Eclipse會掃描項目是否有.project文件。當要導入的項目具有Eclipse工程的特定文件(一個完整的Eclipse項目)時可以選擇。

  • import using the New Project wizard,選擇該選項代表項目還沒被eclipse初始化,選擇後點擊finish會打開new Project嚮導,這個嚮導就和eclipse新創建項目步驟一樣。

  • 最後我們選擇的Import as general project就是將該項目作爲一個普通的項目導入。

最後確認項目名稱,然後點擊Finish後就完成了導入。項目結構如下:
在這裏插入圖片描述

因爲導入的項目不具有運行環境,當我們需要二次開發時,就需要將該項目轉換爲Maven項目。

右擊選中項目名–>Configure–>Convert to Maven Project
在這裏插入圖片描述
這樣項目就變爲由Maven管理的項目了
在這裏插入圖片描述

八、解決衝突

當我們合併分支時,被合併的分支不是在接受合併的分支最新版本上修改(接受合併的分支有了新的提交),就會產生衝突需要我們手動解決,然後再合併。

另外當我們團隊協作時,不是在遠程庫中最新版本上修改時(團隊有人更新了遠程庫),那麼提交時就會出現衝突的情況。此時無法推送,需要我們先pull下來,然後查看並修改衝突的文件。

衝突的文件會用在這裏插入圖片描述 這個符號進行標識,而衝突的地方會有特殊符號< ,=,>,標識,提示哪些是遠程庫上的修改,哪些是自己的修改,像這樣:

<<<<<<< HEAD
		System.out.println("right");
=======
		System.out.println("left");
>>>>>>> branch 'master' of https://github.com/JustCoding-Hai/testGit.git
	}

當我們衝突的地方比較多時,就可以藉助Merge Tool來對比查看。

右擊選中衝突的文件->Team->Merge Tool,打開這樣的頁面:
在這裏插入圖片描述

在這個頁面可以很方便地對比着看衝突的內容,工具欄也提供了許多功能,我們就在左邊修改文件來解決衝突。最後保存後上面的特殊符號會被自動刪除。

然後我們添加到暫存區(add to index)
在這裏插入圖片描述
再提交到本地庫,最後提交到遠程庫。

九、分支操作

Git工作流指在項目開發過程中使用Git的方式。Git工作流包括有集中式工作流、GitFlow工作流和Forking工作流。

我們最常使用的是GitFlow工作流,GitFlow工作流是在項目開發過程通過爲功能開發、發佈準備和維護設立了獨立的分支,讓發佈迭代過程更流暢。

1.分支種類

Git工作流中的分支種類可以包括以下幾個類別:

  • 主幹分支 master 。主要負責管理正在運行的生產環境代碼。永遠保持與正在運行的生產環境 完全一致。
  • 開發分支 develop 。主要負責管理正在開發過程中的代碼。一般情況下應該是最新的代碼。
  • bug 修理分支 hotfix 。主要負責管理生產環境下出現的緊急修復的代碼。 從主幹分支分出,修
    理完畢並測試上線後,並回主幹分支。並回後,視情況可以刪除該分支。
  • 準生產分支(預發佈分支) release 。較大的版本上線前,會從開發分支中分出準生產分支,進行最後階段的集成測試。該版本上線後,會合併到主幹分支。生產環境運行一段階段較穩定後 可以視情況刪除。
  • 功能分支 feature 。爲了不影響較短週期的開發工作,一般把中長期開發模塊,會從開發分支 中獨立出來。 開發完成後會合併到開發分支。

GitFlow工作流示例圖:
在這裏插入圖片描述

2.具體操作

現在操作TestGit和testGit2項目模擬團隊協作時,一個成員添加了分支,另一成員拉取下來並進行合併。

1.創建分支
右擊TestGit項目名–》Team–》Switch to–》New Branch,然後填寫分支名hot_fix。
在這裏插入圖片描述
此時就轉換爲hot_fix分支了。
在這裏插入圖片描述
然後對Banana類進行修改,添加一行代碼。

public class Banana {
	public static void main(String[] args) {
		System.out.println("this is right");
		System.out.println("Edit By branch hot_fix");
	}
}

提交到本地庫,再推送該分支到遠程庫。
在這裏插入圖片描述

2.切換分支並審查代碼

這時團隊的另一個成員操作的testGit2項目,就需要pull遠程庫下來,然後選擇:
在這裏插入圖片描述
在這個頁面選擇分支
在這裏插入圖片描述
然後選擇Check out as New Local Branch
在這裏插入圖片描述
這樣就完成了獲取遠程庫中的分支並切換。我們確定這個分支的內容沒有錯誤後就可以進行合併操作了。

3.合併分支
首先切換回master分支
在這裏插入圖片描述
然後執行合併操作
在這裏插入圖片描述
選擇要合併的分支。
在這裏插入圖片描述
點擊Merge按鈕即完成合並。

4.刪除分支
如果是刪除本地分支,選擇Team–》Advanced --》delete branch,選中要刪除的分支,然後點擊OK。
在這裏插入圖片描述
如果要本地操作刪除遠程分支,就選擇Team–>Remote–>Push,在彈出的界面中點擊Next,

在這裏插入圖片描述在上面頁面下拉選擇要刪除的分支,點擊Add Spec按鈕,點擊finish完成。

十、版本切換與撤銷修改

1.版本切換,選中項目名右鍵,Replace With–>Commit,然後選擇一個commit記錄
在這裏插入圖片描述
2.撤銷修改,撤銷文件的修改,選中文件右鍵,Replace With–>Head Revision。撤銷項目的修改,就選中項目名右鍵執行相同的操作。
在這裏插入圖片描述

總結

使用Git應該保持良好的習慣,即每次開發之前先更新,經常提交,不要一次提交很多文件。這樣基本上的簡單使用就不會出現問題。

最後,上面的相關操作是我看視頻教程總結的,因爲還沒有實際使用經驗,所以許多Git技術點沒有涉及到。需要詳細學習的話可以看一些官方文檔哦:

Git學習:Git-Book
EGit插件的使用:EGit/UserGuide
拓展:IntelliJ IDEA下的使用git

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