github 是最大的开源项目托管平台,是一个网站。但是它不仅仅只能托管开源项目或代码,还能作为我们备份重要资料的平台,更重要的是我们可以通过这个平台来学习和获取别人的代码,避免重复造轮子,还可以多人协同工作。git 的命令行还在学习中,我使用的是 windows 系统,使用 github for windows 就能处理我们日常生活中的大部分备份需求和其它事务处理。

使用 github for windows

一、准备

step 1: 注册 github 账号

打开 github 官网 https://github.com,依次填写用户名、邮箱地址、密码

step 2: 下载和安装 github for windows 客户端

下载客户端 https://git-scm.com/downloads,会先下载一个可执行文件,然后选择可执行文件继续下载,可能下载多次都不成功,毕竟是国外的服务器,不稳定和速度慢是正常的,多试几次就好了。安装完成后在桌面有这样的图标:

二、备份

step 1: 创建新仓库

去 github 官网创建新仓库。github 上每一个人的项目都是一个仓库(repository)。每个人账号下的仓库名不重名就行,即便是和别人的仓库重名了也无所谓。下面以我跑步记录的数据为例说明接下来的步骤。

登录成功后,可以看到我们的用户名:

创建新仓库:

step 2: 启动客户端,登录账号

启动 github for windows 客户端,并登录账号:

保存后,就选择好了项目拥有者和项目提交者。接下来我们可以克隆项目到本地了,在本地借用我们熟悉的编辑工具干活,以便后面备份到 github 网站。

step 3: 克隆项目

将新创建的仓库到本地:

点击"Open in Desktop"将启动客户端,然后我们选择在本地保存的路径,选择好后,就开始克隆了:

克隆好后,在我们选择的路径下将会增加 readme 文件和 .git 文件夹:

step 4: 处理(增删改)本地文件

在本地新增一个文件----跑步详情.xlsx,填写跑步详情,完成后保存。这样一个过程就完成了本地文件的一次修改。

step 5: 将文件提交到暂存区

在工作区完成操作后,我们需要将文件提交到版本库:

在 changes 栏目下,可以看到我们更改的文件,无论是新增、修改、删除都有痕迹可寻。选择需要的文件提交到暂存区。如果发现改错了,后悔提交了,可以执行"Undo"操作,此次提交作废,继续在本地更改文件到满意为止:

step 6: 将文件同步到 github

只有将文件同步到 github 上之后,别人才能看到这个文件,以便于加入修改,fork 仓库提供意见,pull request(拉取请求) 并且 merge(合并)等等。点击"Sync"进行同步。

至此,我们的文件备份工作完成。后面操作最多的便是重复修改和增加文件了,重复备份操作 step 4 - step 6 即可完成。

step 7: 重复备份工作

重复备份工作,为分支叙述做准备。在本地 running 文件夹下新增一个文本文档----跑步术语.txt,如下:

然后提交、同步到 github 上。注意:使用记事本编辑文本文档之后,会出现乱码的问题,我用的 notepad++ 编辑器,选择的是 utf-8 without BOM 格式,这里截图用记事本,是因为这样做截图尺寸更小。

三、分支

1. 创建新分支

假设一个场景,上面的跑步术语我像积累英语单词一样每天都新增几条。但是后面我发现对于配速的解释不够明确,我想要加一些解释性的例子。现在我就可以新建一个分支来加解释说明。创建 example 分支:

在配速术语后增加例子说明:

2. 提交当前分支

提交当前分支,并且将其同步到 github 上。

3. 合并两个分支

合并两个分支有两个方法:

(1). 通过 github 网站来合并(推荐):

这种方法更简单些,也更容易理解。同步 example 分支到 github 网站上后,在网站上可以看到提示"有新增的分支可作比较和拉取需求":

点击"Compare & pull request"去选择 Compare 对象,然后 Create pull request:

如果 base 分支和 compare 分支选择错误了,可手动选择。选择 Create pull request 将 example 分支的内容"拉"到 master 分支中。然后合并分支:

至此我们的分支合并操作完成。可以从 github 网站上看到 master 分支里的内容:

说明合并成功了,那么 example 这个分支也就不需要了,它的任务完成了,可以删除了:

点击"2 branchs"可显示具体分支,并操作分支:

然后"2 branchs"就变成了"1 branch",删除分支成功。

(2). 通过 github for windows 客户端来合并

新建一个分支 example2 来演示通过 github for windows 客户端来合并分支操作。新建分支,修改本地文件,提交,发布等操作同"通过网站操作"相同,客户端的分支将呈现如下:

需要改变当前分支,example2-->master,然后把用于比较的分支变成 example2,master-->example2:

然后点击"Update from example2",从历史记录里可以看到"merge"字样,说明已经合并了:

最后点击"Sync"将合并同步到 github 上。

删除 example2 分支,删除分支也可以在客户端完成:

四、fork

有这样一个场景,别人看到我的跑步术语某一条描述不正确,他想改一下。于是我可以把他加入到贡献者中,我们愉快的合作,但是这样太危险了吧,我们都不认识,他改错了怎么办?我觉得他改之前我们可以交流一下,我也可以检查一下他的更改,再决定要不要采用他的更改。现在就可以用到 fork 了,我的理解 fork = clone + update + sync(commit) + merge(pull request) 。

1. clone

同学 A(lixinjie1992) 登录他的账号,看到了我的跑步术语,觉得好奇,打开一看认为某处需要改一下。于是他 fork 一下,clone 到自己的账户中:

点击 fork,就 clone 了一份仓库到自己的账户下:

如果改动较小,就是纯文本编辑的话,就直接在 github 网站上编辑更快:

2. update

点击要修改的文件,进入文本编辑器修改,然后填写修改说明,再提交:

3. commit

4. pull request拉取一次请求:

与上一次改变前作比较:

Create pull request,等待仓库拥有者回复:

过了一段时间,同学 B 发现了 pull request 这里有一条消息:

点击查看,然后点击改变的文件,可选择合并且给同学 A 留言感谢他,或者不合并且给他留言指明不合并理由:

最后"confirm merge"确认合并。

如果是改动比较大的话,就需要将项目 clone 到自己的电脑里,在工作区修改好后 commit(提交),sync(同步),然后(pull request)。剩余步骤与上面类似。

五、多人协同工作

将其他人的账户添加进 collaborators,就可以进行协作了。以同学 B(lxj1765990267) 的 running 为例,添加同学 A(lixinjie1992),用来多人协作工作:

running-->contributor-->settings-->collaborators:

添加进 collaborators 后,最大的区别就是,不用再经过同学 B 同意了,同学 A 就可以直接参与修改 running 和 merge 工作。

github 和 github for windows 学习使用总结的更多相关文章

  1. Github和Github for windows的使用简介

    很多程序员都把自己开发的代码放到Github上,方便自己管理也有利于别人查阅.所以这两天我也捣鼓了一下这个东西,现在把怎么使用Github和Github for windows简单的总结一下. 1.现 ...

  2. caffe windows 学习第一步:编译和安装(vs2012+win 64)

    没有GPU,没有linux, 只好装caffe的windows版本了. 我的系统是win10(64位),vs 2012版本,其它什么都没有装,因此会需要一切的依赖库. 其实操作系统只要是64位就行了, ...

  3. mac上将代码上传到github以及github对100M以上文件限制上传的处理(lfs)。

    前言 有时我们会写一些小程序来学习新的知识,但是完事之后过一段时间可能会忘记,最好的办法就是找到原来的代码看一看.现在可以将代码免费托管到一些网站上,其中最著名的非github莫属了, 今天就把这个过 ...

  4. window下配置SSH连接GitHub、GitHub配置ssh key(转)

    转自:http://jingyan.baidu.com/article/a65957f4e91ccf24e77f9b11.html 此经验分两部分: 第一部分介绍:在windows下通过msysGit ...

  5. window下配置SSH连接GitHub、GitHub配置ssh key

    window下配置SSH连接GitHub.GitHub配置ssh key   此经验分两部分: 第一部分介绍:在windows下通过msysGit(Git for windows.Git Bash)配 ...

  6. Mac下GitHub以及GitHub Desktop使用实战

    Hub是一个面向开源及私有软件项目的托管平台.开源代码库以及版本控制系统,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub.通常在Windows下使用GitHub的教程是非常多的, ...

  7. 敬爱的GitHub” —— 致GitHub的一封地下信   英文原文:"Dear GitHub…" An Open Letter to GitHub

    敬爱的GitHub” —— 致GitHub的一封地下信 英文原文:"Dear GitHub…" An Open Letter to GitHub 最近,一个由开源名目(包含一些最盛 ...

  8. caffe windows学习:第一个测试程序

    caffe windows编译成功后,就可以开始进行测试了.如果还没有编译成功的,请参考:caffe windows 学习第一步:编译和安装(vs2012+win 64) 一般第一个测试都是建议对手写 ...

  9. 【Markdown】Writing on Github - 在GitHub上写作

    Writing on GitHub https://github.com/shalliestera/Writing-on-GitHub-Chinese-Translation Markdown 基本语 ...

  10. GitHub Actions & GitHub Secrets

    GitHub Actions & GitHub Secrets tokens & private variable GitHub Secrets https://github.com/ ...

随机推荐

  1. 数据结构:链表(python版)

    #!/usr/bin/env python # -*- coding:utf-8 -*- # Author: Minion Xu class LinkedListUnderflow(ValueErro ...

  2. python征程1.2(初识python)

    1.操作符. 和其他绝大多数语言一样,Python的算术操作符以你熟悉的方式工作. “+,—,×,/,//,%,**,” 注意:python有两种除法操作符(1)单斜杠用以传统除法,(2)双斜杠用以浮 ...

  3. lua-resty-websocket安装和测试

    作者:杨鑫奇 关注Openresty很久了,期待支持websocket终于出来了,看到Aapo Talvensaari同学写的文章https://medium.com/p/1778601c9e05,兴 ...

  4. line-height行高与图片的隐匿文本间隙消除方法

    (标注 文章来源 http://www.zhangxinxu.com/wordpress/2015/08/css-deep-understand-vertical-align-and-line-hei ...

  5. input标签内容改变的触发事件

    ---恢复内容开始--- 1. onchange事件与onpropertychange事件的区别: onchange事件在内容改变(两次内容有可能相等)且失去焦点时触发:onpropertychang ...

  6. IOS开发基础知识--碎片12

    1:Delegate运用 .h #import <UIKit/UIKit.h> @protocol FilterHeaderViewDelegate <NSObject> @r ...

  7. Android编码规范04

    private final String MESSAGE_WARN = "您输入的密码有误,请重新输入!"; private final String CLASS_ONE = &q ...

  8. 深入浅出React Native 2: 我的第一个应用

    这是深入浅出React Native教程的第二篇文章. 1. 环境配置 React Native环境配好之后,就可以开始创建我们的第一个App啦. 打开控制台,输入 react-native init ...

  9. iOS 学习 - 20 UICollectionView 移动 Item ,类似背包

    有100个 item,数据源只有20个,只能在 20 个之间移动,防止 item 复用,出现 bug 方法一:苹果自带 //UICollectionViewDataSource- (BOOL)coll ...

  10. Blogging with github Pages

    参考: 阮大大:搭建一个免费的,无限流量的Blog----github Pages和Jekyll入门 使用BitBucket和FTPloy私有Jekyll源码 http://www.pchou.inf ...