1. 程式人生 > >git學習四:eclipse使用git提交專案

git學習四:eclipse使用git提交專案

準備工作:

目的:eclipse使用git提交本地專案,提交至遠端github上

eclipse版本:eclipse4.5  64位

jdk版本:jdk-1.7 64位

專案型別:maven web專案

備註:eclipse高版本自帶git外掛,而低版本則需自己安裝git外掛,這裡使用eclipse高版本,低版本安裝git外掛這裡不進行介紹。

eclipse使用git提交專案有2種方式:一種是git命令視窗,另一種是eclipse自帶git外掛(跟svn外掛一樣使用)

一、使用git命令視窗提交專案

1.首先官網下載git並安裝,然後配置使用者資訊(任意目錄下右擊“Git Bash Here”開啟git命令視窗)

git config --global user.name "you name"

git config --global user.email "[email protected]"

2.登入github官網,註冊個人github賬號,建立SSH Key 用於將本地專案上傳至遠端github上

 建立SSH Key:ssh-keygen -t rsa -C "[email protected]"

3.建立本地倉庫如“testGit”,然後選中該本地倉庫右擊“Git Bash Here” 執行如下命令:(注意倉庫名稱用英文)

首先在github上建立一個倉庫,倉庫名為“testGit”(遠端倉庫名必須與本地倉庫名一致,否則提交失敗,報倉庫不存在),建立遠端倉庫具體操作參考:

在“testGit”工程上右擊“Git bash Here”輸入如下命令:

git init          初始化倉庫“testGit”即把這個目錄變成Git可以管理的倉庫,在該目錄下會生成一個隱藏檔案“.git”

touch .gitignore    git提交忽略不必要的資料夾或檔案(在本地倉庫中生成一個隱藏檔案“.gitignore”,文字編輯器開啟設定要忽略的檔案或資料夾如maven專案的target資料夾)

git add .       新增所有檔案(add與“.”之間有空格,否則不識別的語法,提交所有檔案)

git commit -a -m 'version 1.2'    提交所有修改檔案

git remote add origin [email protected]:somenone/testGit.git      提交遠端倉庫(用SSH的形式,關聯一個遠端倉庫)

git push -u origin master       推送遠端倉庫

備註:由於遠端庫是空的,我們第一次推送master分支時,加上了-u引數,Git不但會把本地的master分支內容推送的遠端新的master分支,還會把本地的master分支和遠端的master分支關聯起來,在以後的推送或者拉取時就可以簡化命令。

之後執行就是 git push origin master

到此我們本地專案已經提交完成,登入遠端github檢視發現上傳成功。

二、使用eclipse自帶外掛提交專案

1.自帶git外掛進行配置我們的使用者名稱和密碼,即是自己github註冊使用者。windows--perferences--Team--Git--Configuration

2.eclipse生成SSH2 key:windows -- perferences--General--Network Commection--SSH2--key  management--General RSA Key

然後把生成的SSH Key 註冊到github上,登入github--settings--add把上訴生成的SSH Key貼上即可。

備註:該方法就相當於命令列方法,在公司電腦和自己膝上型電腦把生成的SSH Key貼上即可,可以新增很多個SSH Key

檢視生成的祕鑰是否在在預設系統盤(C盤),有些人奇葩會安裝在其他盤。

然後把生成的公鑰貼上到github上:(該步不能省略,一定要用命令檢查下生成的公鑰是否正常)

若該步沒有操作,執行命令:$ ssh -T [email protected]報這樣的錯誤:


3.本地建立專案如“testGit”和本地git倉庫

開啟eclipse,建立專案“testGit”裡面隨便寫點什麼,然後"File"--"Team"--"Share Project"--"Git"--"next"

如上圖所示到此該專案“testGit”就變成git倉庫,到workspace下開啟該專案,發現多了一個隱藏檔案“.git”,該專案處於untracked狀態(資料夾中的符號”?”表示),下面我們需要提交程式碼到本地倉庫,如下圖:

首先我們要忽略不必要的檔案如maven專案target資料夾

配置.gitignore來排除這個資料夾,開啟Navigator視窗,在project根目錄中新增.gitignore檔案,將需要排除控制的目錄寫入.gitignore檔案中:

這樣git提交就過濾了一些不必要的檔案,若是要過濾其他資料夾或檔案直接在“.gitignore”中寫,具體寫法參考:

然後提交修改的檔案必須先add然後commit故通過Team -> Add to index可以將檔案加入git索引,進行版本監控:

若是不想新增到版本庫中則“Remove from Index”該命令前提是為未commit,若是已經commit那麼該命令不起作用。新增成功後文件狀態發生變化由之前的“?”變成“*”:

細節:EGIT中只要Commit就可以預設將untracked的檔案新增到索引再提交更新,不需要分開操作


最後執行commit:(首次提交後,會自動生成master分支

在註釋中輸入提交資訊:

到此專案“testGit”就本地提交成功。接下來我們把本地專案提交至遠端遠端倉庫github上:

首先在github官網上登入並建立倉庫“testGit”(該名稱與本地倉庫名稱一致,表示本地倉庫提交到遠端倉庫並與之關聯),建立完畢後執行如下操作:

進行如下設定:

下拉框選擇如下:

然後進入如下截圖操作:注意:“Force Update”若是勾選,表示覆蓋提交

點選“next”出現如下圖所示:

最後點選finis如下圖,登入github檢視是否上傳成功。

出現如下截圖表示上傳成功。

補充:

1.如何提交已經修改的專案,已修改的專案資料夾出現“*”號標誌,選擇帶“*”號標誌的檔案右擊“Team”--"commit"


點選“commit and push”表示提交併推送,即把修改的檔案提交至本地,推送到遠端倉庫。

2.如何恢復未提交的修改檔案:


3.實際開發中提交專案只需要提交如下三個檔案即可:

4.如何用命令檢視,修改remote url:

如果你在連線github倉庫的時候,用的https協議的地址,還需要切換為git協議
可以用git remote -v 檢視你當前的remote url

$ git remote -v
origin https://github.com/love-somnus/Spring.git (fetch)
origin https://github.com/love-somnus/Spring.git (push)

可以看到是使用https協議進行訪問的。

這時,你可以使用 git remote set-url 來調整你的url。

git remote set-url origin [email protected]:love-somnus/Spring.git

完了之後,你便可以再用 git remote -v 檢視一下。至此OK。

5.檢視本地SSH Key是否正常:

$ ssh -T [email protected]
# Attempts to ssh to github

出現如下資訊表示設定成功:

Hi username! You've successfully authenticated, but GitHub does not # provide shell access.

備註:

1.使用eclipse外掛提交專案至遠端必須先本地提交,最後提交至遠端倉庫

2.檢視誰提交了程式碼,專案右擊“team”--“show history”

3.檢視提交記錄:Team--Show in History   (命令列為:git log)

4.撤銷恢復修改:Replace With--HEAD Revision (命令列為 git checkout head .)

5.更新專案遠端倉庫:Team-- Pull (命令列:git pull https://github.com/someone/xxx.git)

6.檢視哪些檔案被修改了:Team--Synchronize Workspace

7.提交專案時注意忽略不必要的檔案或資料夾如maven專案下的target資料夾忽略

8.git提供了多重協議用來連線git伺服器,其中最常見的就是https和git,git就是可以免使用者名稱和密碼的,不同的協議,專案連線地址是有區別的,如下

https形式:https://github.com/love-somnus/Spring.git  git形式:[email protected]:love-somnus/Spring.git