2013.10.20]Eclipse配置Git全過程-----------附用EGit不能push的問題解決
html
環境爲:xp+ADT bundle+msysGit+TortoiseGit,前提是已經安好了msysGit和TortoiseGit。事實上看過本篇,TortoiseGit不用安裝便可,他是管理git的圖像化工具,和eclipse的插件EGit是同一個功能。android
1、安裝EGit插件git
打開eclipse,點help-----install newsoftware,名字寫EGit,連接地址:http://download.eclipse.org/egit/updates,安裝完畢後重啓Eclipse。截圖以下:github
2、配置eclipseapp
點擊window---sharepreference---Team---Git----Configuration,在user settings欄目點擊Enter Entry,添加user.name *******************和user.email *************,以下所示:eclipse
3、用eclipse新建一個android項目TestHello。【注意:個人eclipse默認的工做空間是E:\WorkSpaces\Android,F:\yan_gitSource這個文件夾是我準備當倉庫的地方。】ssh
在eclipse裏右鍵點擊項目---Team----share project,點擊create,點Browser選中剛纔建的放倉庫的地方F:\yan_gitSource,而後name裏填TestHello_git,這就是咱們真正放倉庫的地方。ide
完畢後,看到eclipse裏變成[TestHello_git NO HEAD],裏面的文件都帶有問號,表示文件處在untracked狀態,還沒提交。這時發現原eclipse工做空間裏那個TestHello文件夾不見了,而轉移到了放倉庫的地方。以下:工具
4、在github裏新建一個倉庫,爲了統一咱們起一樣的名字,命名爲TestHello_git,其實這個名字跟本地的不同也不要緊。fetch
5、右鍵點擊項目Team--commit,寫上註釋選擇全部代碼,而後commit,commit到本地以後代碼裏 no head變成了master,表示本地有分支了。
【補充:eclipse的egit跟TortoiseGit使用的密鑰是不共用的,須要再次添加。】經過eclipse裏的window → preference → general → network connection → SSH2 → Key Management → generate RSA Key... → apply → save private key...,而後保存添加到github上!
6、這個時候若是你點team--remote--push,不管怎麼配是不會成功的,注意那個填URI的地方只能填http地址,填git地址識別不出來。即使這樣填好http以後,push時會提示no fast farward之類的,意思是應該先從github上pull一下,而後再push。當你pull時,又會立刻提示各類沒配置好。這時能夠按以下操做:點window---preference--team---git--configuration-------------Repository Settings,Repository選擇TestHello_git,而後點右邊的open,視圖以下:
將config修改成如下狀態:
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
hideDotFiles = dotGitOnly
[remote "origin"]
url = git@github.com:yanzi1225627/TestHello_git.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[user]
name = yanzi1225627
email = yanzi1225627@qq.com
注意:那個url地址是你在github上建庫的ssh地址。
7、在push以前記得先pull一下,把github上的倉庫先pull到本地倉庫。這個跟前面講TortoiseGit時,新建一個文件夾而後第一步gitclone,從功能上講是一樣的做用。就把github上的代碼同步到本地,同步完後能夠看到本地倉庫裏多了兩個文件,這都是github新建倉庫時生成的。若是不pull就push,會報錯只能用強推覆蓋掉本地和github倉庫上不同的文件。在git命令裏是加參數-f,在egit這個圖像界面裏是在push時選擇 force update,但不建議這麼幹。
8、接下來就開始push嘍!點team---remote--push,會彈出下面這個界面。若是剛纔那個config文件沒有配置好的話,這塊就得一點一點配置Custom URI,很麻煩。
點next以後,左邊兩個框選好後,點Add Spec,截圖以下:
以後會看到下面這個圖:
再點next----finish就能夠看到push的界面了哈哈!網速快的話很快就push上去,網速慢的話可能會斷掉,本身手動再push!
查看github上是否push成功:
-------------------------⊙﹏⊙b汗,終於push成功了,昨折騰了一晚上才搞好,看過以前的教程都是在push這塊一筆帶過,在填URI時不知道咋搞,無心中想到用TortoiseGit先push下,而後將.git文件夾下的config文件拷貝到eclipse的項目倉庫,居然成功了。本文系原創,轉載請註明做者yanzi1225627
參考:
一、http://my.oschina.net/bbdlg/blog/83568
二、http://blog.csdn.net/luckarecs/article/details/7427605 這個比較詳細,但在push這塊有問題,已不適用!
三、http://www.myexception.cn/eclipse/1101538.html