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/ ...
随机推荐
- mvc实现上传视频预览
上个项目中用到了上传视频,本来打算用百度的webuploader做的,但是webuploader可能有个毛病就是不能上传太大的东西. 于是乎,只能换个方法做了啊,看了半天最终决定用传统的uploade ...
- css3 翻转和旋转的区别
我以前一直以为旋转跟翻转一样,今日自己旋转了好久都发觉跟翻转差一点点,纠结了十几分钟才明白,只能怪自己的立体感太差了. css3中的transform中有旋转,放缩,倾斜,平移的功能,分别对应的属性是 ...
- 【开源】SoDiaoEditor 可能是目前最好用的开源电子病历编辑器(B/S架构)
此刻我的内心是忐忑的,这个标题给了我很大的压力,虽然很久以前我就在github上搜索一圈了,也没发现有其他更好的开源电子病历编辑器,如各位亲发现有更好的,烦请知会我一声. 该编辑器其实已经憋了很久了, ...
- C#之tcp自动更新程序
.NETTCP自动更新程序有如下几步骤: 第一步:服务端开启监听 ServiceHost host; private void button1_Click(object sender, EventAr ...
- div自适应布局
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="OnlineShowPage ...
- linux 下添加库的加载路径的方式
linux 下有两种添加加载库路径的方式: 1.修改环境变量: export LD_LIBRARY_PATH=path_name 2.修改配置文件 修改 /etc/ld.so.conf 的内容在最后添 ...
- POJ-3041
思路:将n个行看作n个点{x_i}(i=1, ..., n),n个列也看作n个点{y_j}(j=1, ..., n).每个障碍看作一条无向边(x_i, y_j).则该问题能够归结为求二分图最小点覆盖数 ...
- java.lang.IllegalArgumentException: Illegal character in query at index 261
在BaseFragment中使用了LoadingPage,而LoadingPage的联网加载使用的是AsyncHttpClient.一直报java.lang.IllegalArgumentExcept ...
- PHP 命名空间(namespace)
PHP 命名空间(namespace) PHP 命名空间(namespace)是在PHP 5.3中加入的,如果你学过C#和Java,那命名空间就不算什么新事物. 不过在PHP当中还是有着相当重要的意义 ...
- ASP.NET MVC搭建项目后台UI框架—7、统计报表
ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NET M ...