github搭建方法
Sf2gis@163.com
2015年4月21日
2015年12月21日重构
1 目标:使用github进行版本控制。
2 原理:github云端 +git版本管理+tortoisegit本地客户端
使用网络存储版本仓库。在本地进行开发,本地管理版本。需要时将本地数据同步到网络。
由于github对私有库的限制,可以使用https://bitbucket.org/ 不限制私有库。
3 流程:注册帐号,创建网络版本库,本地管理版本库。
3.1 注册帐号: https://github.com/使用邮箱注册版本库。
3.2 创建网络版本库:
参见:网络代码仓库github
3.3 本地管理版本库
4 方法:网络代码仓库github
4.1 目标:在云端进行版本控制。新建、删除、修改、合并、发布。
4.2 原理:直接在云端操作网络版本库。
4.3 流程:版本控制
4.3.1新建版本库:登录后在右上角点击加号(+)-》New repository-》输入版本库的名字-》Create Repository完成创建。
4.3.2删除版本库:进入版本库-》settings->deletethis repository-》弹出确认框,输入版本库名字,确认-》删除成功。
参考:http://www.cnblogs.com/lpshou/p/3188189.html http://jingyan.baidu.com/article/a501d80c126ebcec630f5eff.html
4.3.3修改:添加新文件
Code界面-》New File-》输入文件名和内容-》Create New File-》完成创建。
4.3.4发布:Code界面-》Release-》Create New Release-》输入版本号等相关信息-》Publish Release-》成功后显示相关信息。
4.4 方法:分支控制,新建讨论主题,WIKI,统计图表。
4.4.1分支控制:创建分支、合并分支、删除分支、请求合并到主版本。
创建分支:code界面-》branch下拉框中输入新的分支名称-》点击Create Branch生成新的分支。
分支创建后自动切换到新建的分支中。
删除分支:code界面-》branch-》点击删除按钮-》删除成功。
合并分支pull request:code界面-》new pull request-》弹出的页面中base为目标分支(要改变的分支),compare为来源分支(将来源的变更合并到目标上)-》确认后合并。
注意:如果文件中的代码有冲突,则只能在客户端解决。
4.4.2新建讨论主题:目标是todo list,bug讨论等。
codel界面-》issues-》New Issue-》添加标题和内容-》成功后会显示相关信息和issuse的#id-》可以在pull request等操作中引用issue的id进行操作-》issue的详情界面会有相应的操作记录-》可以关闭或继续讨论此Issue。
4.4.3WIKI:项目基本信息
wiki界面可以添加或删除主页面,编辑页面有相应的html格式。
在主页面下部还有个footer用于添加少量信息。
4.4.4统计图表-概要Pulse
4.4.5统计图表-各项详细图表Graphs:各种信息统计。
5 方法:本地客户端版本控制:git+tortoisegit
5.1 目标:在桌面端进行git操作。
5.2 原理:git进行本地操作,tortoisegit提供操作git的gui,版本信息暂存在本地,可以与云端版本库进行交互。
5.3 流程:安装git,tortoisegit,版本操作。
5.3.1安装git/tortoisegit:配置远程为github。
版本操作:下载
5.3.2下载:从github中找到版本库的地址,copy到tortoisegit的url中,指定本地目录。
5.4 方法:git 操作,所有操作都在右键
5.4.1git操作
参考:
5.4.1.1 上传到暂存库commit:将更新上传到本地暂存库。
5.4.1.2 上传到云端push:将暂存库上传到云端。
5.4.1.3 操作暂存库的分支:与SVN相同。switch/checkout
5.4.1.4 下载云端更新:pull。
5.4.1.5 下载云端更新和分支等辅助信息并与本地暂存库合并:fetch。
5.4.1.6 操作云端版本库分支:switch/checkout->branches->remote branch将操作云端库。
参考:http://doophp.sinaapp.com/archives/other/branches-options-with-tortoisegit.html
http://stackoverflow.com/questions/9705534/how-do-i-delete-a-git-branch-with-tortoisegit
5.4.1.7 Issue:创建只能在网络。fixes:可以在本地commit时,使用fixes #n来关闭issue。
5.4.1.8 查看git仓库:setting-》git-》remote。
5.4.2配置为自动记录github的用户名和密码:点击按钮:edit global .gitconfig,文件中添加
[credential]
helper = store
参考:http://blog.sina.com.cn/s/blog_44d19b500102v4rn.html
5.4.3中文:默认使用UTF-8,使用GBK会乱码。
参考:http://www.v2ex.com/t/62337