項目管理離不開版本控制,目前主流版本控制工具大概就是SVN和Git,至於二者有啥區別這裏就不詳細介紹了,若是有不明白的能夠上網查資料,後期若是有機會我再開篇欄目細說,並且如今市場上Git的使用率已經遠遠高於SVN。咱們在用IDEA開發項目的時候如何熟練使用Git來控制代碼版本呢?git
使用Git固然須要先安裝Git,安裝過程就不詳細說明了,按裝好以後,打開IDEA進入設置界面(能夠直接點擊工具欄上的,也能夠經過快捷鍵 Ctrl + Alt + S ),搜索git,界面以下:github
咱們能夠看到Git是在Version Control選項卡里,裏面還有個GitHub,你能夠在裏面配置本身GitHub的帳號和密碼,而後能夠直接將GitHub上的代碼拉下來。更多內容能夠參考前幾期關於Settings的文章。工具
繼續說Git,Path to Git executable就是咱們的本地Git安裝路徑中bin目錄下的git.exe,路由完路徑後點擊Test按鈕,若是正確安裝且路徑正確,那麼會彈出以下對話框,表示配置成功:spa
咱們常常會將公司Git庫或GitHub上的代碼拉取到本地來開發,咱們在IDEA中如何拉取呢?其實有兩種方式能夠達到咱們的目標,咱們以GitHub爲例:3d
1.先經過git工具將代碼拉取到本地,而後再經過IDEA打開。版本控制
複製路徑code
克隆到本地blog
lq@DESKTOP-BHJ6UD2 MINGW64 /e/mygit/20180226 (master) $ git init Reinitialized existing Git repository in E:/mygit/20180226/.git/ lq@DESKTOP-BHJ6UD2 MINGW64 /e/mygit/20180226 (master) $ git clone https://github.com/noobgod/designPattern.git Cloning into 'designPattern'... remote: Counting objects: 73, done. remote: Total 73 (delta 0), reused 0 (delta 0), pack-reused 73 Unpacking objects: 100% (73/73), done.
拉取成功,路徑在本地E:/mygit/20180226,在IDEA中open該路徑下的項目,按步驟操做便可。項目管理
2.直接經過IDEA將代碼拉取下來,推薦這種,由於方便快捷。路由
按照上圖方式選擇以後,裏面有多個可選項,咱們選擇Git,會彈出一個對話框,點擊Clone按鈕便可。
咱們在提交代碼前最好先更新下遠程倉庫的代碼到本地倉庫,這樣能夠減小沒必要要的衝突,更新update能夠直接經過快捷鍵 Ctrl + T ,也能夠經過工具欄上按鍵來實現,分別是update,commit,compare with the same respository version。這裏咱們選擇update。
固然也能夠右鍵項目-->選擇Git-->Respository-->pull來實現。
咱們在IDEA中開發好本身的代碼以後如何提交到遠程倉庫呢?右鍵項目-->選擇Git
1.Commit Directory:commit代碼(將stage區的暫存文件提交到當前分支的本地倉庫,並清空stage區),也能夠push代碼(把本地倉庫的文件同步到遠程倉庫)。
在IDEA中,咱們會看到文件被標識着不一樣顏色:紅色,綠色,藍色。它們分別表明什麼意思呢?
紅色:未被版本控制的文件,即未添加到版本控制的文件,例如咱們添加到ignore中的文件。
綠色:新加入版本的文件,即咱們新建立的文件,還未提交到遠程倉庫。
藍色:修改過的文件,即遠程倉庫中已有該文件,咱們此次對它進行了修改,可是還未提交。
Commit對應Git的Commit命令,有時候咱們只但願commit到本地倉庫暫時還不想push則能夠經過此方法。若是commit完以後咱們還須要push到遠程倉庫,這時候須要咱們再右鍵項目-->選擇Git-->Respository-->push。
想實現單純的commit功能,咱們還能夠經過快捷鍵 Ctrl + K ,亦或經過工具欄按鈕。
Commit and Push也就是Commit和push,咱們能夠直接在這裏commit到本地倉庫以後,再push到遠程倉庫。
2.Add:把本地文件從工做目錄添加到本地倉庫的stage區,對應Git的Add命令。
3.Compare with Branch…:與遠程分支比較。咱們提交前能夠經過此功能比較下咱們工做目錄中代碼和遠程分支代碼的異同。
4.Show History:查看歷史修改版本記錄。
5.Revert:回滾,會將你的本地修改回滾。
6.Repository:各類倉庫命令。
在開發中不免會遇到多人修改同一個文件,形成版本衝突,這時候若是須要程序正常運行而且確保功能完整就須要開發人員手動解決這些衝突,並將代碼合併,獲得最終一致性的代碼最後再push到遠程。
而這一塊每每對不少人來講是最頭疼的,操做不當可能會形成代碼紊亂形成事故,其實理解了原理,熟練以後其實也沒那麼複雜。
這裏須要介紹的內容蠻多並且須要細說, 若是關心這塊的話能夠關注下,後續不按期的更新添加和補充完善。
分支管理咱們就須要用到IDEA底部的狀態欄了。
在這裏咱們能夠切換分支,新建分支,checkout分支代碼,compare分支代碼等等。