IDEA 提交項目至Git與獲取Git項目

 

1.IDEA提交項目至git

注:保證已安裝Git分佈式管理系統,沒有自行百度安裝git

1)在IDEA中配置Git與GitHub

a)Git:

File-->Settings --> Version Control -->Git- -> Path to Git executable:git.exe(定位到本身以前安裝的git安裝路徑)

(自行百度安裝git)

),其餘配置選項默認便可 --> 點擊Test測試,成功後確認git

b)GitHub:

ps:外網爲Github,碼雲,內網使用Gitlab,大同小異,內網無需配置GitHub,跳過此步驟b,內網第一次提交項目至Gitlab,會提示輸入Gitlab賬號,密碼,根據提示輸入便可。

Host填寫:github.com 

Auth Type選擇:Password

而後填寫本身以前註冊的github賬號與密碼  Test成功後   Apply 而後OK 如:github

 

2)創建本地項目的Git倉庫

打開打算提交到Git的項目spring

在IDEA頂部的菜單欄中找到VCS

VCS --> Import into Version Control --> Create Git Repository --> 選擇要存放的路徑(通常直接存放在該項目下的路徑,方便後續管理和查找) --> 點擊OK

3)創建遠程Git倉庫

在github創建一個倉庫:Start a project-->輸入 Repository name-->Create repository架構

matlab:New Projectssh

找到你創建的倉庫,複製HTTPS或者SSH ,若Git地址採用SSH方式,則須要配置SSHmaven

樣例:分佈式

HTTPS傳輸協議URL:https://github.com/mlh666/spring-boot.gitide

SSH傳輸協議URL: git@github.com:mlh666/spring-boot.gitspring-boot

注:若懶人一枚,懶得配置SSH KEY,也可在IDEA只使用https傳輸協議,則無需配置SSH,可直接進行下一步  測試

4)提交項目至遠程倉庫

 

若不配置SSH Key,在IDEA使用SSH傳輸協議時,會報無權限問題。

配置SSH Key的好處:使用命令操做私有項目時,不須要輸入賬號密碼,https須要輸入賬號密碼

$ git clone git@gitee.com:mlh666/spring-boot-demo.git

按enter鍵
正克隆到 'spring-boot-demo'... ...

處理 delta 中: 100% (536/536), done.

$ git clone https://gitee.com/mlh666/Spring_boot_learning.git

正克隆到 'Spring_boot_learning'...
Username for 'https://gitee.com': mlh666(輸入本身賬號)

Password for 'https://mlh666@gitee.com': (輸入密碼)

remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.

 

 配置SSH密鑰對樣例:

打開終端:

$ cd  ~./ssh

$  ssh-keygen -t rsa -C "your_email@youremail.com"(指定本身的郵箱)

例如:

$ ssh -keygen -t rsa -C "mlh666@foxmail.com"

輸入後出現

Generating public/private rsa key pair.

Enter file in which to save the key (/home/mlh/.ssh/id_rsa):

直接按enter

出現如下信息,即提示輸入密碼,可設可不設,看本身

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

 

密碼輸入後出現

Your identification has been saved in /home/mlh/.ssh/id_rsa.
Your public key has been saved in /home/mlh/.ssh/id_rsa.pub.
The key fingerprint is:***********

 到此則生成密鑰對成功

$ ls 

ls後發現.ssh下 有id_rsa   id_rsa.pub 文件。後綴爲.pub爲公鑰文件

id_rsa  id_rsa.pub  known_hosts

打開公鑰文件,複製公鑰:$ cat  id_rsa.pub 

添加公鑰到遠程Git倉庫:

登錄github賬戶-->點擊頭像-->選擇下拉菜單 Settings -> 左欄點擊 SSH and GPG keys -> 點擊 New SSH key;

在「Key」文本域內粘貼公鑰內容。 title域,隨意自定義名字便可;

點擊 Add key。

嘗試是否可用SSH,

git clone git clone git@gitee.com:mlh666/spring-boot-demo.git

若報錯:

sign_and_send_pubkey: signing failed: agent refused operation
Permission denied (publickey).
fatal: Could not read from remote repository.

解決方法:執行命令:$ ssh-add

顯示以下即成功:

Identity added: /home/mlh/.ssh/id_rsa (/home/mlh/.ssh/id_rsa)
而後再執行操做。

4)提交項目至遠程倉庫

VCS-->Git->Add 

而後

方式一:VCS-->Git-->Commit Directory-->在Commit Message 填寫修改的信息-->commit and push

方式二: VCS-->Commit Changes(提交修改)-->在Commit Message 填寫修改的信息-->commit and push

第一次提交託管,Push以前須要指定遠程倉庫的URL

出現Push Commits框,點擊Define remote ,提示輸入URL(粘貼以前本身創建的遠程倉庫的地址)

若彈出密碼框,輸入github密碼,若無 直接push

 

 後續提交:

VCS-->Git->Add 

VCS-->Commit Changes

或者VCS-->Git-->Push

ps:每次修改項目,都要記得先Add一遍,再Commit

ps:最好在本身遠程倉庫創建分支branch,如一個項目至少應該有兩個分支,一個爲master(默認),正式可投入生產環境使用的版本,不隨意更改;一個爲開發dev,供開發測試,

養成良好習慣,在開發過程當中優化,修改等,都應該在開發分支下進行,

多人開發更應該創建開發分支,確認測試成功無誤後,再也不隨意更改後可push到master分支供生產環境使用,以妨成員錯誤操做master,影響版本使用。

idea中加入Git版本控制時 各文件顏色表明的意思:

綠色:已經加入版本控制暫未提交; 
紅色:未加入版本控制; 
藍色:加入版本控制,已提交,有改動; 
白色:加入版本控制,已提交,無改動; 
灰色:版本控制已忽略文件。

 2.idea獲取git/github上的項目

獲取別人的項目

先點擊右上角Fork:即創建一個新分支,複製一個副本到本身的Git倉庫裏,而後再Clone到本地機器上。若不Fork,直接Clone,則是克隆到本身的本地機器上,鏈接的遠程倉庫仍是別人的,

本身不是原做者,沒法進行開發修改。只有Fork時,就把別人的項目克隆到本身的Git遠程倉庫上,而後再Clone到本地,此時本地鏈接的是本身的遠程倉庫,

這樣本身就有權限更新了。以下:點擊Fork

 

如若獲取本身項目可跳過上面Fork步驟直接開始下面的Clone步驟:

在想要獲取的github項目上點擊Clone or download  複製URL  以下:

github:

 

碼雲:

而後

第一種方式:

在頂部菜單欄找到VCS

VCS-->Checkout from Version Control-->github/git

粘貼url,點擊Test,若成功,點擊clone。以下:

點擊yes:

選擇Import project from external model 選擇maven,點擊next:

在Search for projects recursively 前面打對勾,而後next,最後finish(必定要打,避免有些項目沒有總的pom文件)

 

第二種方式:

File-->new-->Project from Version Control-->git/github(不推薦使用,沒法識別項目架構,如項目modual一多,沒法識別modual,modual全變成包)

 Git Repository URL(遠程倉庫git的地址) :粘貼剛纔copy的URL,而後自定義項目本地存放路徑  點擊Test ,成功後 點擊Clone 

 

Fork:建立新分支,複製源項目到本身的Github上,若後續源項目更新,本身fork的項目不會跟着更新。需經過其餘反式同步。

通常瀏覽者發現對有些項目有興趣,項目中存在bug或可再優化,想幫原做者完善項目。則會使用fork項目,對此項目修改完善後。發起merge(合併)請求。等待原做者響應便可。

Star:關注他人的更新,相似於點贊,表示喜歡此項目,支持項目,點擊Github我的頭像,可看到下拉菜單your stars選項,點擊此項,便可查看star的全部項目

Watch:通知提醒,默認 no wacthing,對於本身特別有興趣,且不按期更新的項目可選擇wacthing,表示之後會關注此項目更新狀態,一旦有任何改動,則會在我的通知中心,郵箱不斷收到通知郵件。因此請考慮後再選擇,若隨意選擇wacthing項目,項目一多,對於不斷收到的通知會超煩的。

相關文章
相關標籤/搜索