从 Git@OSC 下载 Smart 源码
博客专区 > 黄勇 的博客 > 博客详情
从 Git@OSC 下载 Smart 源码
黄勇 发表于4年前
从 Git@OSC 下载 Smart 源码
  • 发表于 4年前
  • 阅读 8548
  • 收藏 84
  • 点赞 7
  • 评论 12

330元/年抢阿里云香港云服务器,节省80%出海成本 >>>   

Git@OSC  是一个 Git 代码托管平台,它类似于 GitHub,它也是开源中国社区网站的主打产品之一,通过阅读本文,会让您了解如何从 Git@OSC  上获取项目源码,并如何高效地进行 Java 项目开发。

第一步:安装 Git

您要做的第一件事情就是:安装 Git。

如果是 Windows 系统,可以下载 msysgit,它也被称为 Git for Windows。您可下载一个最新的版本(比如:Git-1.8.5.2-preview20131230.exe),它一个 exe 文件,双击安装即可使用。

注意,msysgit 不仅仅是一个 Git 客户端,它同时也是您本地的 Git 服务器。

安装完成后,点击右键,会看到右键菜单中有两个关于 Git 的菜单项,即:Git GUI Here 与 Git Bash Here,您可使用后者通过命令行的方式获取项目源码。

在此之前,您不妨先去逛逛 Git@OSC  这个网站,相信您会找到感兴趣的项目,网站地址:

git.oschina.net

第二步:访问项目

以 Smart 项目为例,以下是它的项目首页:

http://git.oschina.net/huangyong/smart

在该页面中有一个 URL 地址,如下图:

可以通过两种方式(HTTP 或 SSH)来访问该地址,一般我们使用 HTTP 方式即可。

您可使用该地址通过 Git 命令行来下载项目源码,在 Git 术语中把件事情称为“克隆(Clone)”,下面您不妨将 Smart 源码克隆到本地吧。

第三步:克隆源码

首先打开您的项目目录(比如:D:\Workspace),然后在该目录中点击右键,选择 Git Bash Here 命令,可打开一个命令行窗口,如下图:

您可以使用如下命令,从 Git@OSC 上克隆 Smart 项目:

git clone http://git.oschina.net/huangyong/smart.git

命令执行完毕后,将在 D:/Workspace 目录下创建一个 smart 目录,该目录的结构如下:

当您打开以上那些目录的时,一定会惊讶地发现,它们里面都没有代码!

那么究竟应该如何才能得到源码呢?

其实,这里用到 Git 的一个很有意思的特性 —— 子模块(submodule),这里看到的所有的目录都是 Smart 项目的子模块,您可以打开 .gitmodules 文件查看具体有哪些模块。

您需要以此使用以下这两条命令来获取所有子模块的代码:

git submodule init

git submodule update

首先您需要初始化子模块,然后才能更新子模块,在更新的时候就会根据子模块的 URL 地址去下载相应的代码。

片刻之间,您就会拥有整个 Smart 源码。

如果您想阅读或编译这些源码,最好的方式还是将代码导入到集成开发环境中,推荐您使用 IntelliJ IDEA 集成开发环境,因为它会让您的工作插上翅膀!

第四步:导入源码

由于 Smart 项目源码是基于 Maven 的,所以您可以直接将其导入到 IDEA 中。IDEA 早已全面支持 Maven,并且功能十分强悍。

注意,您无需创建 Project,而是直接 Import 即可。

当您打开 IDEA 时,会看到一个 Quick Start 对话框:

您可以进入 Import Project 入口,随后打开一个 Select File or Directory to Import 的对话框:

您只需定位到 Smart 项目的根目录,并选择 pom.xml 文件,点击 OK 按钮,将进入导入向导。

此时将会弹出一个 Import Project from Maven 的对话框,您无需做任何的调整,直接点击 Next 按钮即可,而且是一路 Next,头都不要回。

下图是导入完毕后的 IDEA 界面:

左边是 Project 结构,中间是代码区域,右边是 Maven 结构。此外,您还可以点击下方的 Changes 按钮,将显示 Git 本地更新情况与历史提交日志。

IDEA 不愧为 Java 开发之利器!一般我都不告诉别人,谁用谁知道。


使用 IDEA + Git + Maven 将全面提高您的 Java 开发效率,使用 Git@OSC + OSC Maven 可让您的开源工作变得如此简单!

标签: Git Git@OSC Maven Smart
共有 人打赏支持
黄勇
粉丝 5380
博文 114
码字总数 196279
作品 1
评论 (12)
稻草鸟人
OK.谢谢,正在导入中...
稻草鸟人
编译的时候报错:无法确定 <T>T 的类型参数;对于上限为 T,java.lang.Object 的类型变量 T,不存在唯一最大实例
稻草鸟人
解决方式:1. 在对应错误的地方返回值强制转换为T
2. maven 编译插件改成如下,采用eclipse编译器编译
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<compilerId>eclipse</compilerId>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-compiler-eclipse</artifactId>
<version>1.9.1</version>
</dependency>
</dependencies>
</plugin>

具体原因不清楚,要是勇哥知道的话,麻烦指教下,谢谢
悠悠然然
偶从eclipse转idea一段时间了,确实不错。
什么有个bug,maven被拼写为mavan了。
呵呵
子弹兄
太好了,谢谢!虽然一直上osc,但一直觉得git没有什么用途,今天看了你的教程,才豁然开朗!
JacarriChan
用http连接的话,怎么提交代码呢?
黄勇

引用来自“稻草鸟人”的评论

解决方式:1. 在对应错误的地方返回值强制转换为T
2. maven 编译插件改成如下,采用eclipse编译器编译
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<compilerId>eclipse</compilerId>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-compiler-eclipse</artifactId>
<version>1.9.1</version>
</dependency>
</dependencies>
</plugin>

具体原因不清楚,要是勇哥知道的话,麻烦指教下,谢谢

还真不太清楚这个怎么解决,是不是 Eclipse 中用的是内置的 Maven?
黄勇

引用来自“悠悠然然”的评论

偶从eclipse转idea一段时间了,确实不错。
什么有个bug,maven被拼写为mavan了。
呵呵

该 Bug 现已修复:)
稻草鸟人

引用来自“黄勇”的评论

引用来自“稻草鸟人”的评论

解决方式:1. 在对应错误的地方返回值强制转换为T
2. maven 编译插件改成如下,采用eclipse编译器编译
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<compilerId>eclipse</compilerId>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-compiler-eclipse</artifactId>
<version>1.9.1</version>
</dependency>
</dependencies>
</plugin>

具体原因不清楚,要是勇哥知道的话,麻烦指教下,谢谢

还真不太清楚这个怎么解决,是不是 Eclipse 中用的是内置的 Maven?

我用的是IDEA哦,可能是maven默认的编译器应该是javac才是,很奇怪的,之前我也遇到过这个问题,不过当时都是用第一个方法,进行强制转换的
ben.
用惯了svn gui,git有点迷糊,期待作者续写一篇提交更新、合并分支的文章,
万人迷-辉哥
从Git@OSC下载Smart源码
shewa
有用,谢谢啦。
×
黄勇
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: