學習時,接觸到git這個版本控制軟件,經常使用到它來管理代碼。Git是現在比較流行的版本控制系統,IDEA也是平時開發中常用的ide,以下介紹idea如何連接git、怎樣把項目提交到github等操作方法。
使用IDEA操作Github文章目錄
一、 Git的相關介紹
簡介:介紹git的相關信息。
1.1 Git的信息
git 是一個 開源 的 分佈式 版本控制系統。它與 CVS 等集中式版本控制系統不同,git採用了分佈式版本庫的方式,不需要服務器端的軟件就可以進行版本控制。
GitHub是一個開源代碼庫,可以理解爲一個保存源代碼的地方。
1.2 Git的特性
從 一般開發者 的角度來看,git的功能特性:
- 可以從服務器上克隆 完整 的Git倉庫。
- 可以在 自己 的電腦上根據不同的開發目的,創建分支、修改代碼。
- 可以在單機上 自己 創建的分支上提交代碼,合併分支。
- 可以把 服務器上最新 的代碼拉到 自己的主分支 上合併。
- 修改生成補丁後,可以把補丁推送給主開發者。
- 如果主開發者發現兩個 一般開發者 之間 有衝突( 一般開發者之間可以合作解決的衝突),就會要求他們先把衝突解決,再由其中一個人提交;如果 主開發者 可以自己解決,或者 沒有衝突 ,就通過一般開發者提交的補丁。
- 一般開發者解決衝突的方法是用 pull命令 解決。
從 主開發者 的角度來看,git的功能特性:
- 可以 查看 (通過郵件或其它方式)一般開發者的提交狀態。
- 可以打上補丁,解決衝突(可以直接解決,也可以讓開發者之間解決後再提交)。
- 如果開源項目,需要決定哪些補丁有用,哪些沒用。
- 向服務器 提交結果 ,再通知所有開發者。
1.3 Git的優缺點
優點:
- 適合 分佈式 開發,強調個體。
- 速度快、比較靈活。
- 任意兩個 一般開發者之間 可以很容易解決衝突。
- 服務器 的壓力和數據量都不會很大。
- 離線 工作。
缺點:
- 學習週期 比較長。
- 中文 資料少。
- 代碼的 保密性差 ,一旦開發者把整個庫克隆下來,就可以完全公開所有代碼和版本的信息。
1.4 Git與集中式的區別
以與SVN的對比爲例, Git 與 SVN (集中式)的區別:
- git 把內容按 元數據 的方式存儲,而 svn 是按 文件 的方式存儲。
- git 沒有全局的版本號,而 svn 有。
- git的 內容完整性 比較好(採用 SHA-1哈希算法 存儲)。可以確保代碼內容的完整性,能確保在遇到磁盤或網絡問題時,降低對版本庫的破壞。
- 兩者的分支不同,對 svn 來說,分支只是版本庫的另一個目錄。
二、 IDEA連接Git
簡介:介紹idea如何連接git,在idea中使用git進行版本控制。
2.1 連接前的準備
2.1.1 安裝Git客戶端
在idea使用git進行版本控制之前,需要本機有 git客戶端 ,如果沒有,可按以下操作安裝。
在git官網下載電腦系統相應客戶端 :Git官網
打開官網後,根據自己電腦系統下載對應的客戶端,也可以選擇其它的版本下載
下載完成後,再驗證下是否安裝成功。
2.1.2 Git客戶端驗證
打開終端 (快捷鍵: Win + r ,輸入 cmd )
在終端輸入命令 git --version 檢驗
git --version
git安裝成功。
2.2 IDEA關聯GIt
打開idea,再打開idea的設置界面 File --> Settings (或 快捷鍵:ctrl + alt + s )
找到 Git ,如下圖所示,默認 自動 與關聯git 的
如果 沒有關聯 ,則找到git安裝目錄下的 git.exe 文件(如果自動關聯了,就跳過這一步)
點擊 Test 測試,查看是否關聯成功,如下圖則是 關聯成功 (可以看到下載的版本號)
三、 IDEA推送項目
3.1 IDEA提交項目(方法一)
3.1.1 推送項目的過程
打開 設置 ,點擊 Version Control --> GitHub
點擊右側的 + 號
如果是 第一次連接 或者 刪掉了之前的信息 的話,會彈出提示,填寫GitHub的 賬號 和 密碼
添加成功後,會顯示 用戶賬號 ,點擊 Apply --> OK
創建本地倉庫,點擊 VCS --> Import into Version Control --> Create Git Repository
選擇倉庫的地址,一般選擇當前項目做爲倉庫目錄,點擊 ok ( 將本地地址與git關聯後,本地倉庫的地址默認就是項目的地址)
項目的文件名會顯示 紅色 ,創建本地git倉庫成功
打開項目相應位置的文件夾,可以看到 .git 文件 (相對於其他文件夾,該文件夾有些暗)
點擊需要提交的文件,再點擊 VCS --> Commit ,或者按 快捷鍵 ctrl + k ,
打開後可以看到 需要提交的內容 (通常是隻選擇需要提交的代碼,即 src文件 ,其他文件不勾選),以及 內容的註釋 (一般都寫上內容的描述,方便後續的管理,可以知道提交的原因) ,再點擊 Commit
將本地項目提交到github上,點擊 VCS --> Git --> Remotes
彈出以下窗口,如果 有 想提交到的遠程倉庫地址 ,直接點擊相應的地址,如果 沒有 ,則在該窗口右上角點擊的 + 號,添加遠程倉庫的地址
在 URL 這一欄添加遠程倉庫的地址
查找遠程倉庫地址 按這個操作, 打開 瀏覽器 , 選擇指定的遠程倉庫(想提交到的遠程倉庫),進入後如下圖,點擊 Clone or download
選擇 SSH 訪問鏈接(或者 HTTPS ,推薦選擇ssh),複製遠程倉庫地址
接着,在idea點擊 VCS --> Git --> Push (或者按快捷鍵: ctrl + shift + k )
點擊後,可以看到上面幾步操作中,選擇提交的項目和這次提交的描述,點擊 Push
提交完成,右下角彈出提示 Push successful
如果代碼有修改,則會出現顏色的提示
3.1.2 檢驗是否提交成功
從 瀏覽器 打開 GitHub ,檢查是否成功提交到 遠程倉庫 ,如下圖,提交成功(通常都是提交 src 文件就可以的了)
3.2 IDEA提交項目(方法二)
簡介:這個推送方法,是在推送項目的 同時 ,也在Github上面創建一個遠程倉庫,不用事先創建遠程倉庫(用哪個方法,根據自己的情況選擇)。
3.2.1 推送過程的演示
(忘了這個操作方法是不是要下載下面這個插件,如果你的idea 沒有顯示 這個選項,就 下載 這個插件,或者按上面 2.3 的方法操作)
打開 idea ,點擊 VCS --> Import into Version Control --> Share Project on GitHub
彈出以下窗口,如下圖所示,填入內容,點擊 Share
完成後idea右下角出現以下提示
3.2.2 檢驗是否提交成功
從 瀏覽器 打開 GitHub ,查看遠程倉庫是否創建成功,點擊遠程倉庫進入檢查項目是否提交成功
四、 IDEA克隆遠程倉庫
在idea選擇項目的界面(如果已經打開項目了,點擊 File --> Close Project ,關閉項目,退回到選擇項目的界面),點擊 Check out from Version Control
點擊 Git
點擊後如下圖所示,填上 遠程倉庫地址 、修改 存放的路徑 (根據自己情況修改),完成後點擊 Test 測試一下
如果不熟悉 複製遠程倉庫地址 等操作的話,可以參考這篇文章:碼雲Gitee的使用教程,Github的操作和Gitee是相似的。
測試完成後,如下所示
點擊 Clone ,克隆完成後會彈出以下提示
點擊 Yes 後,要把項目導入到idea,基本都是直接點擊Next 就可以了。
導入操作步驟可以參考這篇文章:IDEA導入打開克隆的倉庫
另外就是,這個克隆操作是根據遠程倉庫的 URL 克隆的,會把遠程倉庫的所有內容都克隆下來。
五、 IDEA拉取遠程倉庫代碼到本地並自動合併
5.1 Pull作用的描述
這裏與第四部分是不一樣的,區別在於:
- Clone (克隆)是 本地沒有 這個項目,從遠程倉庫克隆一個完整的項目到本地。
- Pull 是本地已經有一個項目了,比如這個項目叫做test ,這個test也在遠程倉庫上面,其他開發者對test進行修改並上傳到遠程倉庫後,我們從遠程倉庫上把其他開發者修改的部分Pull到本地倉庫,將test項目自動合併。
5.2 Pull的操作過程
點擊上方菜單欄 VCS --> Git --> Pull
或者 右鍵項目名,點擊 Git --> Repository --> Pull
點擊後彈出以下窗口,根據自己的情況選擇就可以了
六、 連接過程中遇到的問題
6.1 提交項目時報錯 提示Push rejected:xxx:push to origin/master was rejected
解決方法: 點擊idea底部的 Terminal 打開終端
輸入以下命令,告訴系統允許合併與歷史不符的內容
git pull origin master --allow-unrelated-histories
如下圖所示
命令執行完後,重新push項目就可以了。
也可以用下面這個命令強推
git push -u origin master -f
好了,繼續學習。