[toc]
访问我的个人博客http://blog.leanote.com/moquan 获取更多。
进官网创建账号,如果是学生的话,建议使用edu邮箱。
使用github学生特权,访问网站https://education.github.com/pack,填写申请,注意申请需要edu邮箱
。
如果申请成功,GitHub将会发一封通知邮件,类似这样:
Git和GitHub不是同一个东西。可以参考这个链接来了解一下git 和 github的关系和区别。http://blog.jobbole.com/111187/
下载地址,注意选择系统类别,根据自身cpu选择32位或者64位。
安装时记得勾选git bash组件,并将git添加到系统环境变量。
GitHub 中公开的代码大部分都是以Mac 或Linux 中的LF(Line Feed)换行。然而,由于Windows 中是以CRLF(Carriage Return + Line Feed)换行的,所以在非对应的编辑器中将不能正常显示。所以在安装过程中配置换行符的时候,windows用户选择Checkout Windows-style, commit Unix-style line endings
。
安装完成后,打开git bash, 配置github账户。
git config --global user.name "Firstname Lastname"
git config --global user.email "[email protected]"
添加ssh 密钥
ssh-keygen -t rsa -C "[email protected]"
按照命令行的提示输入密码,就可以生成公钥和私钥。注意密钥的存放路径。
在github网站上,点击头像,选settings,选ssh and gpg keys,添加ssh key。将刚才生成的密钥复制到github上,测试通过即可。
在本地git bash 里尝试使用ssh 连接远程github。
ssh -T [email protected]
The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is fingerprint值 .
Are you sure you want to continue connecting (yes/no)? 输入yes
出现如下结果证明ssh key成功配置。
Hi your-name! You've successfully authenticated, but GitHub does not
provide shell access.
如果配置不成功,访问github帮助页面https://help.github.com/寻找错误原因和解决方案。
工具选择SourceTree,用github官方的桌面软件也可以。
https://www.sourcetreeapp.com/
https://desktop.github.com/
怎么安装注册百度就好,注意要链接到远程github仓库,在sourcetree里就是需要添加一个远程账户
同样,现在GitHub上新建一个空的Hello-World仓库。然后复制一下ssh链接。接着就在sourcetree的远程仓库列表里出现了Hello-World
现在将远程仓库克隆到本地
如果sourcetree没有出现“这是一个git仓库”那就是链接有错误
克隆到本地仓库时,文件夹可以重命名。
现在本地的仓库和远程一样是一个空的仓库。
使用编辑器在本地仓库目录里新建README.md文件,并添加一行”# initial commit”
sourcetree提示有一个未缓存的文件,已缓存文件为空。
现在选中未被缓存的README.md文件,并点击暂存所选,这一步相当于命令行的git add
现在在最下方的文本框里填写commit所需的附加信息,然后点击提交,这一步相当于git commit。
此时本地默认建立一个master分支,sourcetree自动生成本地仓库的图形化历史,也可以查看每次commit时的附加信息、文件变更情况和时间戳哈希值。相当于完成了命令行里的git log, git reflog, git diff, git log –graph等等功能。
点击gitflow,使用gitflow来初始化仓库。
初始化之后会自动生成一个develop分支来进行开发,而master分支始终处于阶段性完好版本阶段。换句话说,master分支不承担开发任务而只承担发布任务。
除了develop分支属于git flow工作流之外,还有如下几个工作流:
双击左侧的develop分支进行分支切换,点击git flow工作流, 新建一个功能
在预览上可以看到feature分支是从develop上分出来的。
现在更改README.md,并提交修改。
点击git flow工作流,点击完成功能
默认合并功能分支后会删除该功能分支,如果需要追加功能请再次新建功能分支,防止分支混乱。
如果在开发功能时提交了不止一次历史记录,sourcetree的图形化界面优势会显现出来。新建一个feature-B来进行演示:
整个历史记录走向都非常清晰。
点击git flow工作流,建立新的发布版本
该release分支主要用于发布前进行测试,后续的开发工作仍旧在develop上进行(记得切换分支),如果在测试过程中发现问题,直接在release上进行修改,修改完成后进行提交。
不妨模拟两次提交操作。
假设两次操作完成后该预发布分支测试完毕,现在可以使用git工作流来完成发布版本
切换到master分支,点击sourcetree工具栏的推送,选择要推送的分支和目的分支,进行推送。
此时刷新github页面,master已经被推送到远程,并且带了release-1.0的标签
略