github 和 github for windows 学习使用总结
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 学习使用总结的更多相关文章
- Github和Github for windows的使用简介
很多程序员都把自己开发的代码放到Github上,方便自己管理也有利于别人查阅.所以这两天我也捣鼓了一下这个东西,现在把怎么使用Github和Github for windows简单的总结一下. 1.现 ...
- caffe windows 学习第一步:编译和安装(vs2012+win 64)
没有GPU,没有linux, 只好装caffe的windows版本了. 我的系统是win10(64位),vs 2012版本,其它什么都没有装,因此会需要一切的依赖库. 其实操作系统只要是64位就行了, ...
- mac上将代码上传到github以及github对100M以上文件限制上传的处理(lfs)。
前言 有时我们会写一些小程序来学习新的知识,但是完事之后过一段时间可能会忘记,最好的办法就是找到原来的代码看一看.现在可以将代码免费托管到一些网站上,其中最著名的非github莫属了, 今天就把这个过 ...
- window下配置SSH连接GitHub、GitHub配置ssh key(转)
转自:http://jingyan.baidu.com/article/a65957f4e91ccf24e77f9b11.html 此经验分两部分: 第一部分介绍:在windows下通过msysGit ...
- window下配置SSH连接GitHub、GitHub配置ssh key
window下配置SSH连接GitHub.GitHub配置ssh key 此经验分两部分: 第一部分介绍:在windows下通过msysGit(Git for windows.Git Bash)配 ...
- Mac下GitHub以及GitHub Desktop使用实战
Hub是一个面向开源及私有软件项目的托管平台.开源代码库以及版本控制系统,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub.通常在Windows下使用GitHub的教程是非常多的, ...
- 敬爱的GitHub” —— 致GitHub的一封地下信 英文原文:"Dear GitHub…" An Open Letter to GitHub
敬爱的GitHub” —— 致GitHub的一封地下信 英文原文:"Dear GitHub…" An Open Letter to GitHub 最近,一个由开源名目(包含一些最盛 ...
- caffe windows学习:第一个测试程序
caffe windows编译成功后,就可以开始进行测试了.如果还没有编译成功的,请参考:caffe windows 学习第一步:编译和安装(vs2012+win 64) 一般第一个测试都是建议对手写 ...
- 【Markdown】Writing on Github - 在GitHub上写作
Writing on GitHub https://github.com/shalliestera/Writing-on-GitHub-Chinese-Translation Markdown 基本语 ...
- GitHub Actions & GitHub Secrets
GitHub Actions & GitHub Secrets tokens & private variable GitHub Secrets https://github.com/ ...
随机推荐
- c#中字段和属性的区别
在我看来(本人是C#初学者)字段实际上类似一个变量,或者就直接说字段就是一个变量.相应的属性也可以看做是一个变量,只不过多了一些限制而已. using System;using System.Coll ...
- sqlHelper做增删改查,SQL注入处理,存储值,cookie,session
一.存储值 eg:登录一个页面,在进入这个页面之前你怎么知道它登没登录呢?[在登录成功之后我们把状态保存起来] 存储值得方式有两种,一种是cookie,一种是session 1.1区别: 代码: if ...
- python读取文件的方法
一. 通过readline 逐行读取: #--encoding:utf-8 with open("ha.conf","r",encoding='utf-8') ...
- web前端--边框的特征
1.一个面试题:边框是什么形状的? 你可能认为是一个矩形的 细心地人可能说是 梯形 或者 三角形 比较合理的答案是 非矩形的 2.画三角形 将div的width height 都设置为0px bo ...
- 使用git error: RPC failed; result=22, HTTP code = 411
使用git提交比较大的文件的时候可能会出现这个错误 error: RPC failed; result=22, HTTP code = 411 fatal: The remote end hung u ...
- 有问题得就分享(此实现不是 Windows 平台 FIPS 验证的加密算法的一部分)
今天呢,我写完了MD5加密算法的代码,可是我正高兴的想运行时,按了F5.突然了个这样的窗体 我当时就纳闷了,怎么回事? 代码又没有错,这是乍回事! 于是呢上网查了看看:可以这样解决的 在window中 ...
- HTML标签界里不会再用到的标签属性(一)
为了成为一名初级前端开发工程师,最近正在探寻HTML标签的众多奥秘,果不其然,让我发现了许多被“冷落”了的标签属性. 一.<!DOCTYPE> 自从HTML5流行之后,<!DOCTY ...
- ExecuteScalar()
ExecuteScalar()方法的作用是: 执行查询,并返回查询所返回的结果集中第一行的第一列.所有其他的列和行将被忽略. 它的返回值时object,若是想判断某条数据在数据库里存不存在便可使用该方 ...
- 纯HTML5+CSS3制作生日蛋糕
以一个前端开发的身份绘制一个简单的蛋糕庆祝一下今天这个好日子吧,程序员庆生的乐趣与哀愁啊.写的比较简陋,感兴趣的看一下吧. 先发个效果图吧 蛋糕分为三个部分,底部蛋糕,顶层蛋糕和蜡烛部分.HTML的布 ...
- 商业智能SAAS走向中小企业
20多年前,Gartner提出了商业智能的概念,并将其定义为“一类由数据仓库.查询报表.数据分析.数据挖掘等部分组成的,以帮助企业决策的技术及应用”.从技术上讲,商业智能是数据仓库.OLAP和数据挖掘 ...