準備工做: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