导读:本篇主要介绍如何使用EGit下载GitHub上已存在的库。如果不是为了下载一个Java Project,直接在Eclipse中导入使用,那可以使用GitHub的桌面程序(GitHub for Windows),这个上传下载文件更方便。建议看这篇文章之前先看这篇 —— GitHub的使用(上)http://www.cnblogs.com/memory4young/p/github-create-upload-update.html

  首先要确保Eclipse已经安装了GitHub的插件,即EGit。有关该插件安装请参考 GitHub的使用(上)

  还有一点,确保你的GitHub的库中有 .project 这个文件,否则Eclipse不知道它是一个Project,也就无法导入,但可以作为普通文件下载下来。

  在Eclipse的Package Explorer栏空白处 右键 - Import ,选择 Git - Projects from Git ,点击 Next

  接下来选择 URI ,点击 Next

  在下图中的“URI”栏里填入你的远程库HelloWorld的地址(详细可参考 GitHub的使用(上)

  User和Password栏里填入GitHub的账号和密码

  以下几步都可用默认值,直接 Next

  针对下图,笔者想特别说明下。因为笔者在这遇到了问题。

  注:请确保你的GitHub上的库名和项目名称是一样的。笔者的库名为HelloWorld,而当初在Eclipse中创建的项目名称为HelloWorld4GitHub。所以导致在这一步总是报错。

  解决办法:

  办法1、到GitHub主页上点击 Admin 按钮,修改库名称

  办法2、到GitHub主页找到.project文件,修改它的<name>节点

  另外还有一点想说明的,如果你的远程库里面没有 .project 文件,是不可能导入成功的。直接 Cancel 掉。到你的Eclipse的工作目中看看,是不是已经有 HelloWorld 的文件夹了。也就是说到这一步,库文件已经被下载下来。只是因为没有Project的标识文件,Eclipse无法识别。

  项目导进来后,发现报错。再看它的目录结构,你会发现没有JDK的包。

  没有咱就加啊!

  选中项目,右键 > Build Path > Add Libraries ,加入你本地的JDK环境即可。

  加上后,发现它还是报错。原因是Eclipse将src这个目录当成了普通的文件夹,而不是Java的source目录。

  怎么将一个普通的Folder转换成Java的Source Folder呢?

  选中src目录,右键 > Build Path > Use as Source Folder

  (注:如果定义了包,即package,首先 右键 > Build Path > Exclude,然后再 Use as Source Folder

  OK,项目可以正常使用了。你可以试一下同步。关于同步的详细请参考:GitHub的使用(上)


PS: 如果出现类似 git-upload-pack not found 这样的错误信息,可参考  EGit 在使用时出现 git-upload-pack not found 的错误

  官方参考文档:http://wiki.eclipse.org/EGit/User_Guide

GitHub的使用(下)—— 如何下载一个已存在的 Repository的更多相关文章

  1. 对于一个web工程,如果我们复制一个已有的工程粘贴到同一个workspace下,我们除了需要更改工程的名字还需要更改这个新工程的content root,否则会报错。

    对于一个web工程,如果我们复制一个已有的工程粘贴到同一个workspace下,我们除了需要更改工程的名字还需要更改这个新工程的content root,否则会报错.步骤如下: 右键新的工程---&g ...

  2. lunix或者centos服务器下如何下载自己在github上面的项目代码

    1.在github找到项目压缩包下载地址 打开自己的github主页找到需要下载的项目首页,如图所示,找到zip下载地址(ps:如何找这个地址我就不多说了,了解过一点html的同学肯定很容易可以找到) ...

  3. ubuntu上建立本地git 和 网络 github的上传与下载

    github工具是一个很好用的工具,可以在本地建立一个git仓库,存储当前写的程序或者数据,然后通过ssh与github建立联系.具体怎么实现,下面进行介绍. 1.首先要安装git 软件 在Linux ...

  4. Linux下校验下载文件的完整性(MD5,SHA1,PGP)

    查看: Linux下校验下载文件的完整性(MD5,SHA1,PGP) http://blog.useasp.net/archive/2014/03/29/use-md5-sha1-or-pgp-to- ...

  5. Github 初识(上传、下载)

    Git - 版本控制工具Github - 一个网站,提供给用户空间创建git仓储,保存用户的一些数据文档或者代码等GitLab - 基于Git的项目管理软件   上传 1 首先在Github 上注册一 ...

  6. Linux下多线程下载工具myget

    [root@superdba ~]# mytgetMytget 0.0.99: A download accelerator for GNU/LinuxUsage: mytget [options]. ...

  7. 安装rpy2 报错<cdef source string>:23:5: before: blah1 解决办法就是直接下载一个rpy2的轮子

    win7上安装rpy2, python环境是3.6.1. 使用pip install rpy2直接安装rpy2,对应的版本时rpy2 3.0.5 报如下错误: ERROR: Complete outp ...

  8. 解决访问github等网站慢或下载失败的问题

    最近老大push项目,正常的git clone每次都是下载一部分就断掉了.下面介绍网上找到的两种方法: 方法一: 1.打开网站https://www.ipaddress.com/: 2.分别在上面打开 ...

  9. android studio 导入一个已有的android studio project作为lib使用

    android studio 导入一个已有的android studio project作为lib使用 新项目来了. 需要搭建框架. android studio对我来说还是很陌生,之前一个项目在同事 ...

随机推荐

  1. 重定向 vs output redirect

    http://asawicki.info/files/visual_cpp_redirect.png http://asawicki.info/news_1496_redirecting_output ...

  2. PHP:汉字转拼音类(全拼与首字母)

    [php] <?php class GetPingYing { private $pylist = array( 'a'=>-20319,'ai'=>-20317,'an'=> ...

  3. [读]剑指offer

    研二的开始找工作了,首先祝愿他们都能够找到自己满意的工作.看着他们的身影,自问明年自己这个时候是否可以从容面对呢?心虚不已,赶紧从老严那儿讨来一本<剑指offer>.在此顺便将自己做题所想 ...

  4. 获取及管理Android 手机运营商及状态

    主要类 TelephonyManager: telephonyManager.getCellLocation();//获得服务区 telephonyManager.getCellId();//获得服务 ...

  5. 使用 Struts 2 开发 RESTful 服务

    REST 简介 REST 是英文 Representational State Transfer 的缩写,这个术语由 Roy Thomas Fielding 博士在他的论文<Architectu ...

  6. SQL 递归查询

    WITH B (FATHER,SON,ID,ALLINFO) AS (SELECT RTRIM(LTRIM(CHAR(A.ID)))|| CHAR(ROW_NUMBER() OVER(PARTITIO ...

  7. OleDbType.Decimal在插入DB2后会默认赋值0.00,改为OleDbType.Double则正常

    private void InsertShopClaimsTarget(ContinueTargetData.RT_SHOPCLAIMSTARGETRow aRow) { StringBuilder ...

  8. light oj 1068 - Investigation 数位DP

    思路:典型的数位DP!!! dp[i][j][k]:第i位,对mod取余为j,数字和对mod取余为k. 注意:由于32位数字和小于95,所以当k>=95时,结果肯定为0. 这样数组就可以开小点, ...

  9. poj 3328(多起点多终点的最短路)

    题目链接:http://poj.org/problem?id=3328 思路:这道题花了我将近3个小时,结果发现是方向搞错了,orz,过了样例之后提交wa,然后换成优先队列就过了.其实题目意思很简单, ...

  10. dom对象详解--document对象(一)

     document对象 Document对象代表整个html文档,可用来访问页面中的所有元素,是最复杂的一个dom对象,可以说是学习好dom编程的关键所在. Document对象是window对象的一 ...