GitHub基本操作——SourceTree图形化界面

[toc]
访问我的个人博客http://blog.leanote.com/moquan 获取更多。


前期准备

创建账号

进官网创建账号,如果是学生的话,建议使用edu邮箱。

GitHub student pack

使用github学生特权,访问网站https://education.github.com/pack,填写申请,注意申请需要edu邮箱
如果申请成功,GitHub将会发一封通知邮件,类似这样:

在本地使用Git

Git和GitHub不是同一个东西。可以参考这个链接来了解一下git 和 github的关系和区别。http://blog.jobbole.com/111187/

安装Git

下载地址,注意选择系统类别,根据自身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

安装完成后,打开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/寻找错误原因和解决方案。

图形化方式使用git

工具选择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等等功能。

git flow工作流


点击gitflow,使用gitflow来初始化仓库。
初始化之后会自动生成一个develop分支来进行开发,而master分支始终处于阶段性完好版本阶段。换句话说,master分支不承担开发任务而只承担发布任务。
除了develop分支属于git flow工作流之外,还有如下几个工作流:

  • master,产品分支,最终发布版本,整个项目中有且只有一个
  • develop,开发分支,原则上项目中有且只有一个
  • feature,功能分支,用于开发一个新的功能
  • hotfix,补丁修复分支,用于修复master上的bug,直接作用于master
  • release,版本发布分支,预发布版本,介于develop和master之间的一个版本,主要用于测试

建立功能分支

双击左侧的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的标签

补丁修复分支

你可能感兴趣的:(GitHub)