使用git命令下载github的代码时,总是需要下载全部文件。如果作者不小心提交了大量临时文件,在国内这个网络环境下,下载真的是折磨死人!另外,有时想查看一下raw文件,但是国内访问异常!
还好,github的服务器支持svn。所以,可以使用svn命令灵活地下载需要的文件。一般,我使用的命令是export,即导出文件或目录。
github地址如何转换成svn地址:
这个网上有很多说明,我这里做一个总结。github使用“{仓库}/{版本}/{文件}”的链接格式访问文件,例如:
https://github.com/pxb1988/dex2jar/tree/2.x/dex-ir
只要把{版本}这段换成对应的svn格式就可以使用svn命令访问,例如:
https://github.com/pxb1988/dex2jar/trunk/dex-ir
{版本}有多种表示。若你是在查看一个文件,会是“blob/{分支}”的格式,例如:
https://github.com/pxb1988/dex2jar/blob/2.0/dex-ir/src/main/java/com/googlecode/dex2jar/ir/ts/TypeTransformer.java
若你是在查看一个目录,会是“tree/{分支}”的格式,例如:
https://github.com/pxb1988/dex2jar/tree/2.x/dex-ir
{分支}指的是代码的分支,包括trunk、branches、tags。但是,github的分支名字跟svn有点差别。
github的分支可以是master或其它分支名,以及tags版本号,例如tree/master、tree/2.x、tree/2.0。github不会在{版本}上增加类别标记,直接就是对应分支名或标签名。svn则是分支类别+分支名,例如trunk、branches/2.x、tags/2.0。
github的分支信息可以在“Switch branches/tags”按钮查看。svn的分支信息可以通过ls命令查看。它们是互相关联的,所以很好理解。