eclipse使用git提交代碼

準備工做:git

目的:eclipse使用git提交本地項目,提交至遠程github上github

eclipse版本:eclipse4.5  64位web

jdk版本:jdk-1.7 64位shell

項目類型:maven web項目windows

備註:eclipse高版本自帶git插件,而低版本則需本身安裝git插件,這裏使用eclipse高版本,低版本安裝git插件這裏不進行介紹。bash

eclipse使用git提交項目有2種方式:一種是git命令窗口,另外一種是eclipse自帶git插件(跟svn插件同樣使用)服務器

1、使用git命令窗口提交項目dom

1.首先官網下載git並安裝,而後配置用戶信息(任意目錄下右擊「Git Bash Here」打開git命令窗口)eclipse

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

git config --global user.email "you@youdomain.example.com"

2.登陸github官網,註冊我的github帳號,建立SSH Key 用於將本地項目上傳至遠程github上

 建立SSH Key:ssh-keygen -t rsa -C "youemail@example.com"

把生成的公鑰複製到github上,具體操做參考:http://blog.csdn.net/u014079773/article/details/49555989  中「六:添加遠程倉庫」

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

首先在github上建立一個倉庫,倉庫名爲「testGit」(遠程倉庫名必須與本地倉庫名一致,不然提交失敗,報倉庫不存在),建立遠程倉庫具體操做參考:

http://blog.csdn.net/u014079773/article/details/49555989  中「六:添加遠程倉庫」           

在「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 git@github.com:somenone/testGit.git      提交遠程倉庫(用SSH的形式,關聯一個遠程倉庫)

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

備註:因爲遠程庫是空的,咱們第一次推送master分支時,加上了-u參數,Git不但會把本地的master分支內容推送的遠程新的master分支,還會把本地的master分支和遠程的master分支關聯起來,在之後的推送或者拉取時就能夠簡化命令。

以後執行就是 git push origin master

到此咱們本地項目已經提交完成,登陸遠程github查看發現上傳成功。

 

2、使用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 git@github.com報這樣的錯誤:

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」中寫,具體寫法參考:

http://blog.csdn.net/u014079773/article/details/51602344

而後提交修改的文件必須先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 git@github.com:love-somnus/Spring.git

完了以後,你即可以再用 git remote -v 查看一下。至此OK。

5.查看本地SSH Key是否正常:

$ ssh -T git@github.com
# 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形式:git@github.com:love-somnus/Spring.git

相關文章
相關標籤/搜索