git學習四:eclipse使用git提交項目


支持原創:http://blog.csdn.net/u014079773/article/details/51595127

 

 

 

准備工作:

目的: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 "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查看發現上傳成功。

 

二、使用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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM