使用 Subversion (SVN) 的方式来访问 Github
2016-03-09 17:55
232 查看
阅读目录
开始
进入 Git 流程
编写一些代码
讨论、开发、发布
你的开发团队是否最近改用 Github 了吗?可能团队里部分人对使用 git 非常兴奋,但另外一些熟悉 Subversion 的人却很不爽?好消息是现在你可以通过 Git 和 Subversion (SVN) 的客户端来访问 Github 的资料库。
这篇文章大概介绍了如何利用 Subversion 客户端来更好的使用 GitHub 流程。
Github 流程中每次功能提交和bug修复都会通过以下的步骤来完成:
从最新的 master 分支中创建一个 topic 分支
在你准备好要合并时在 topic 分支中提交
通过 Pull Request 将 topic 分支拉到 master 分支,讨论变更,更多提交等等,知道团队准备好合并
合并 Pull Request 然后发布
首先要做的就是 svn checkout。Git 的 clone 让工作目录和资源库文件分离开来,工作目录在一个时间只有一个分支。而 svn checkout 是不同的,它在工作目录中混有资源库数据,因此你 checkout 的每个分支、标签都有相应的工作目录。资源库包含大量的分支和标签,如果把所有数据都 checkout 出来非常费带宽,你应该只检出某部分数据。
GitHub 通过 HTTP 协议来支持 git 和 svn 的客户端,你可以通过 HTTP clone URL 来浏览资源库中的文件。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/24/d038afeabb22539c052d214e79525f85.png)
现在可以准备 checkout 了:
首先我们 checkout 一个资源库,并不下载任何文件:
?
然后获取 trunk 分支,svn 中的 trunk 分支相当于 git 里的 HEAD 分支(通常是 master)
?
获取 branches 目录的空 checkout:
?
首先是创建一个 topic 分支,在你的 svn 客户端中,确保 master 是当前更新的 trunk,然后使用 svn copy 来创建分支:
?
然后你可以通过 web 界面或者 git 客户端看到一个新的分支:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/24/59a6172de9a2d7e898e88cb39cc3bae6.png)
?
添加一些功能,修复一些 bug,然后提交,就像你平时使用 svn 一样:编辑文件,然后 svn commit 来提交变化。
?
当你已经准备好要将所做的改动与团队其他人分享时,通过 web 界面来做一个 Pull Request:
进入 topic 分支,点击 Pull Request 按钮:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/24/7f751024947d885ddab19248d6eeffe8.png)
填写描述信息
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/24/46b35783bb6eef40ca8e0fe6630ec6ba.png)
和团队成员讨论变更的内容,这个讨论是以 Pull Request 里的评论方式进行的
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/24/25d2ce9b60df972d248f0e783ba1a804.png)
合并 Pull Request. pull request 页面会展示这些变化是否已经合并。你只需要点击按钮即可完成,如果有冲突你需要先解决。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/24/771351e33f1483014ae5915d46c07566.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/24/8cafc492b586f2f40ec69d7a6bdd3cfe.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/24/ee74bc74bec338a3221950e791db5d08.png)
现在你的改动已经合并到了 master 分支,你可通过 svn update 来获取这些改动,然后开始下一阶段工作。
开始
进入 Git 流程
编写一些代码
讨论、开发、发布
你的开发团队是否最近改用 Github 了吗?可能团队里部分人对使用 git 非常兴奋,但另外一些熟悉 Subversion 的人却很不爽?好消息是现在你可以通过 Git 和 Subversion (SVN) 的客户端来访问 Github 的资料库。
这篇文章大概介绍了如何利用 Subversion 客户端来更好的使用 GitHub 流程。
Github 流程中每次功能提交和bug修复都会通过以下的步骤来完成:
从最新的 master 分支中创建一个 topic 分支
在你准备好要合并时在 topic 分支中提交
通过 Pull Request 将 topic 分支拉到 master 分支,讨论变更,更多提交等等,知道团队准备好合并
合并 Pull Request 然后发布
开始
首先要做的就是 svn checkout。Git 的 clone 让工作目录和资源库文件分离开来,工作目录在一个时间只有一个分支。而 svn checkout 是不同的,它在工作目录中混有资源库数据,因此你 checkout 的每个分支、标签都有相应的工作目录。资源库包含大量的分支和标签,如果把所有数据都 checkout 出来非常费带宽,你应该只检出某部分数据。GitHub 通过 HTTP 协议来支持 git 和 svn 的客户端,你可以通过 HTTP clone URL 来浏览资源库中的文件。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/24/d038afeabb22539c052d214e79525f85.png)
现在可以准备 checkout 了:
首先我们 checkout 一个资源库,并不下载任何文件:
?
?
?
进入 Git 流程
首先是创建一个 topic 分支,在你的 svn 客户端中,确保 master 是当前更新的 trunk,然后使用 svn copy 来创建分支:?
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/24/59a6172de9a2d7e898e88cb39cc3bae6.png)
?
编写一些代码
添加一些功能,修复一些 bug,然后提交,就像你平时使用 svn 一样:编辑文件,然后 svn commit 来提交变化。?
讨论、开发、发布
当你已经准备好要将所做的改动与团队其他人分享时,通过 web 界面来做一个 Pull Request:进入 topic 分支,点击 Pull Request 按钮:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/24/7f751024947d885ddab19248d6eeffe8.png)
填写描述信息
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/24/46b35783bb6eef40ca8e0fe6630ec6ba.png)
和团队成员讨论变更的内容,这个讨论是以 Pull Request 里的评论方式进行的
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/24/25d2ce9b60df972d248f0e783ba1a804.png)
合并 Pull Request. pull request 页面会展示这些变化是否已经合并。你只需要点击按钮即可完成,如果有冲突你需要先解决。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/24/771351e33f1483014ae5915d46c07566.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/24/8cafc492b586f2f40ec69d7a6bdd3cfe.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/24/ee74bc74bec338a3221950e791db5d08.png)
现在你的改动已经合并到了 master 分支,你可通过 svn update 来获取这些改动,然后开始下一阶段工作。
相关文章推荐
- jersey spring shiro mybatis mysql集成配置
- 如何在21天之内精通面向对象的编程
- 如何在Eclipse中嵌入外部工具
- Eclipse项目导入到Android Studio(不用Eclipse导出时生成gradle)
- Java 变量初始化
- Struts2配置--Action配置
- C++11 标准新特性: 右值引用与转移语义
- github
- 聊聊并发(三)Java线程池的分析和使用
- asp.net 防止SQL注入攻击
- PHPStorm 10 配置PHPUnit
- [python]非常小的下载图片脚本(非通用)
- 将WEB工程转换为Maven工程(eclipse)
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- 【Spring】Spring注解注入
- 常用eclipse快捷键
- LINQ查询运算符
- C++ Boost库学习
- C/C++函数返回值问题
- 详解state状态模式及在C++设计模式编程中的使用实例