2013.10.20]Eclipse配置Git全過程-----------附用EGit不能push的問題解決

2013.10.20]Eclipse配置Git全過程-----------附用EGit不能push的問題解決

環境爲:xp+ADT bundle+msysGit+TortoiseGit,前提是已經安好了msysGit和TortoiseGit。事實上看過本篇,TortoiseGit不用安裝即可,他是管理git的圖像化工具,和eclipse的插件EGit是同一個功能。

一、安裝EGit插件

打開eclipse,點help-----install newsoftware,名字寫EGit,鏈接地址:http://download.eclipse.org/egit/updates,安裝完畢後重啓Eclipse。截圖如下:

二、配置eclipse

點擊window---sharepreference---Team---Git----Configuration,在user settings欄目點擊Enter Entry,添加user.name *******************和user.email *************,如下所示:

三、用eclipse新建一個android項目TestHello。【注意:我的eclipse默認的工作空間是E:\WorkSpaces\Android,F:\yan_gitSource這個文件夾是我準備當倉庫的地方。】

在eclipse裏右鍵點擊項目---Team----share project,點擊create,點Browser選中剛纔建的放倉庫的地方F:\yan_gitSource,然後name裏填TestHello_git,這就是我們真正放倉庫的地方。

 

 

完畢後,看到eclipse裏變成[TestHello_git NO HEAD],裏面的文件都帶有問號,表示文件處在untracked狀態,還沒提交。這時發現原eclipse工作空間裏那個TestHello文件夾不見了,而轉移到了放倉庫的地方。如下:

                                

四、在github裏新建一個倉庫,爲了統一我們起同樣的名字,命名爲TestHello_git,其實這個名字跟本地的不一樣也沒關係。

五、右鍵點擊項目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上!

六、這個時候如果你點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 = 
[email protected]:yanzi1225627/TestHello_git.git 

fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
 remote = origin
 merge = refs/heads/master
[user]
 name = yanzi1225627
 email = 
[email protected]

注意:那個url地址是你在github上建庫的ssh地址。

七、在push之前記得先pull一下,把github上的倉庫先pull到本地倉庫。這個跟前面講TortoiseGit時,新建一個文件夾然後第一步gitclone,從功能上講是同樣的作用。就把github上的代碼同步到本地,同步完後可以看到本地倉庫裏多了兩個文件,這都是github新建倉庫時生成的。如果不pull就push,會報錯只能用強推覆蓋掉本地和github倉庫上不一樣的文件。在git命令裏是加參數-f,在egit這個圖像界面裏是在push時選擇 force update,但不建議這麼幹。

八、接下來就開始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

 

參考:

1、http://my.oschina.net/bbdlg/blog/83568

2、http://blog.csdn.net/luckarecs/article/details/7427605  這個比較詳細,但在push這塊有問題,已不適用!

3、http://www.myexception.cn/eclipse/1101538.html


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章