Github代码管理教程
目录
- Create and use a repository
- Start and manage a new branch
- Make changes to a file and push them to GitHub as commits
- Open and merge a pull request
What is GitHub?
Github是一个代码托管平台。
本教程将向您介绍GitHub的基本功能,如存储库、分支、提交和拉取请求。您将创建自己的hello world存储库,并学习github的pull-request工作流,这是一种创建和审查代码的流行方法。
无需编码
要完成本教程,您需要github.com帐户和Internet访问。您不需要知道如何编写代码、使用命令行或安装git(版本控制软件github是基于此构建的)。
提示:请在单独的浏览器窗口(或选项卡)中打开此指南,以便在完成教程中的步骤时可以看到它。
第一步:创建仓库(repository)
存储库通常用于组织单个项目。存储库可以包含文件夹和文件、图像、视频、电子表格和数据集—任何项目需要的内容。我们建议包括一个自述文件,或者一个包含项目信息的文件。github使您可以在创建新存储库的同时轻松添加一个存储库。它还提供其他常见选项,如许可证文件。
hello world存储库可以是一个存储想法、资源,甚至与他人共享和讨论内容的地方。
创建新存储库
1.在右上角,在您的头像或标识图标旁边,单击,然后选择New Repository。
2.命名存储库hello world。
3.写一个简短的描述。
4.选择“使用自述文件初始化此存储库”。
第二步:创建一个分支(branch)
分支是一次处理不同版本存储库的方法。
默认情况下,存储库有一个名为master的分支,该分支被视为最终分支。在将分支提交给master之前,我们使用分支进行实验和编辑。
当您在主分支上创建分支时,您正在按主分支在该时间点上的状态创建主分支的副本或快照。如果其他人在您处理分支时对主分支进行了更改,您可以将这些更新拉入。
下图显示:
•主分支
•一个名为Feature的新分支(因为我们正在对该分支进行“功能工作”)
•功能在融入主功能之前所经历的旅程
你保存过不同版本的文件吗?类似于:
- story.txt
- story-joe-edit.txt文件
- story-joe-edit-reviewed.txt文件
分支在github存储库中实现类似的目标。
在github,我们的开发人员、作者和设计师使用分支来保持bug修复和功能工作与我们的主(生产)分支分离。当变化准备好时,他们将分支合并为master。
创建新分支
1.去你的新仓库Hello World。
2.单击文件列表顶部的下拉列表,其中显示branch:master。
3.在“新建分支”文本框中键入分支名称“自述编辑”。
4.选择蓝色的创建分支框或按键盘上的“回车”键。
现在有两个分支,master和readme编辑。它们看起来一模一样,但不会太久!下一步我们将把我们的更改添加到新的分支。
第三步:更改和提交更改
好极了!现在,您进入了readme edits分支的代码视图,它是master的副本。让我们做些编辑。
在github上,保存的更改称为提交(commit)。每个提交都有一个关联的提交消息,这是一个说明,解释为什么进行了特定更改。提交消息捕获更改的历史记录,以便其他贡献者能够理解您所做的操作以及原因。
更改和提交更改
1.单击readme.md文件。
2.单击文件视图右上角的铅笔图标进行编辑。
3.在编辑器中,写一点关于你自己的东西。
4.编写一条说明更改的提交消息。
5.单击“提交更改”按钮。
这些更改将仅对“自述编辑”分支上的自述文件进行,因此现在此分支包含与“主控”不同的内容。
第四步:打开拉取请求
很好的编辑!现在您已经更改了master的分支,可以打开一个pull请求。
拉取请求是github上协作的核心。当您打开一个请求时,您提出了您的更改,并请求有人检查和拉入您的贡献并将其合并到他们的分支中。拉取请求显示来自两个分支的内容的差异。更改、添加和减法显示为绿色和红色。
一旦提交,就可以打开请求并开始讨论,甚至在代码完成之前。
通过在pull请求消息中使用github的@notice系统,您可以请求特定人员或团队的反馈,无论他们是在大厅下面还是10个时区之外。
您甚至可以在自己的存储库中打开pull请求并自己合并它们。在处理更大的项目之前,这是学习github流的好方法。
打开请求更改自述文件
点击图片查看更大版本
1. 单击“拉取请求”选项卡,然后在“拉取请求”页面中,单击绿色的“新建拉取请求”按钮。:
2. 在“示例比较”框中,选择要与主控形状(原始形状)进行比较的分支“自述编辑”。
3. 查看比较页上差异中的更改,确保它们是您要提交的内容。
4. 当您确信这些是要提交的更改时,请单击绿色的“创建请求”按钮。
5. 给你的请求一个标题,并写一个简短的变更描述。
完成信息后,单击“创建拉取请求”!
提示:您可以使用emoji并将图像和gif拖放到评论和请求中。
第五步:合并拉取请求
在最后一步中,是时候将您的更改合并到一起了——将您的自述编辑分支合并到主分支中。
1.单击绿色的合并请求按钮,将更改合并到主控形状。
2.单击“确认合并”。
3.继续删除分支,因为它的更改已经合并,紫色框中有delete branch按钮。
庆祝一下!
通过完成本教程,您已经学会了在github上创建项目和发出请求!
以下是您在本教程中完成的内容:
•创建了一个开源存储库
•开办和管理一个新的分支机构
•更改了一个文件并将这些更改提交给github
•打开并合并拉取请求
看看你的github档案,你会看到你的新贡献广场!
要了解pull请求的强大功能,我们建议阅读github流指南。您还可以访问github explore并参与一个开源项目。
____________________
提示:查看我们的其他指南、youtube频道和点播培训,了解更多关于如何开始使用github的信息。
上次更新时间:2016年4月7日
Github代码管理教程的更多相关文章
- 使用Git操作GitHub代码入门教程
GitHub除了网页操作外,还可以借助本地客户端git(或github for windows)来增删修改远程代码.使用Git操作来连接GitHub可以通过Https或SSH方式,使用SSH方式可以免 ...
- 如何把本地代码提交到git(码云)、github代码管理项目上
前提必须安装了git工具 以下命令操作都是通过git bash操作. 将本地代码提交到码云空项目操作: D:\>mkdir inek_winprop D:\>cd inek_winprop ...
- 关于github 代码管理,协作开发
公司要用github 进行项目管理, 了解了一下github相关权限管理. 并做笔记如下: 个人账户可以建立公有/私有 repository , 公有的全天下的人都能看到,私有的全天下人都看不到 ...
- github代码管理工具的使用方法
一.创建一个存储库 1.点击页面右上方你的用户名右边的+标志,然后点击下拉列表中的"new repository"选项,一般填写项目名称和选择public 和选择初始化有READM ...
- 使用Git进行代码管理的心得--github for windows
首先简述一下Git进行代码管理的情况 我使用的是github for windows,官网下载的速度太慢,所以用了离线安装包.安装之后会有GitHub和GitShell两个软件,其中Github采用图 ...
- msysGit管理GitHub代码
msysGit管理GitHub代码 代码的管理,在日常开发中是很重要的环节,程序员的修炼三部曲——版本控制,单元测试,项目自动化. 本篇就简单的说说通过msysGit来管理GitHub中的代码,实 ...
- 软工实践个人练习-使用github进行代码管理
1.掌握使用Git进行代码版本,使用github进行代码托管. 2.创建小组Organization,并邀请组员进来. 3.将代码库https://github.com/sefzu2015/AutoC ...
- 代码管理工具:使用github和git工具管理自己的代码
一.git工具和账户创建 1.1 安装 Git 是 Linus Torvalds 最近实现的源代码管理软件."Git 是一个快速.可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系 ...
- 程序员的自我修养系列(一):优雅的代码管理工具之GitHub
1.导言 代码管理是程序员经常遇到一个问题,很多童鞋将代码保存到本地硬盘,此种方法管理混乱,也存在代码丢失的风险,且版本无法控制,因此养成良好的代码管理习惯是程序员的必修课.在众多代码管理工具中笔者在 ...
随机推荐
- firewall&iptables小记
一.firewall 查看firewall状态 firewall-cmd --state 防火墙开启: 防火墙关闭: 如果firewall为关闭状态,先启动firewall systemctl sta ...
- SysTick功能总结
一.初始化SysTick 按1ms来设置systick,也可以除以1000000.按1us来设置 SysTick_Config(SystemCoreClock / 1000); //SysTick开启 ...
- stat函数学习
stat函数组 前面介绍的通过ls命令查看到的文件信息,都可以使用stat函数组提取出来• stat函数组– 使用命令man stat查看相关文档• 函数int stat(const char *pa ...
- CKEditor的使用经历总结
关于ckeditor的下载和引用网上有很多完整清晰的教程,就不在此多说了,主要说一些小问题. 这个插件,初次用的时候放不进背景图,放不进隐藏域,连class,id这些属性都放不进去,然后我进行了一些调 ...
- BZOJ 3585: mex(分块+莫队)
传送门 解题思路 首先直接莫队是能被卡的,时间复杂度不对.就考虑按照值域先进行分块再进行莫队,然后统计答案的时候就暴力扫所有的块,直到一个块内元素不满,再暴力扫这个块就行了,时间复杂度O(msqrt( ...
- JDK换版本问题解决
在jdk安装第一个版本的时候,就默认在path配置值中加入C:\ProgramData\Oracle\Java\javapath; 所以我们需要把Path最前面的C:\ProgramData\Orac ...
- centos7 yum 安装最新的nginx 1.16
参考:https://www.cnblogs.com/opsprobe/p/10773582.html nginx官方文档说明:http://nginx.org/en/linux_packages.h ...
- java.lang.IllegalAccessException: Class XXXcan not access xxx with modifiers "private"
field 或者 method 是 provate的 field.setAccessible(true); method.setAccessible(true); 有时候是因为 newinstance ...
- Struts1.3——Struts入门
1.Struts的几个基本概念 1.struts是一个开源框架(frameset) 2.struts是一个Web框架 3.struts是一个基于MVC的Web框架 2.为什么有struts 因为我们对 ...
- 服务bindService()方法启动服务
public class MainActivity extends Activity { private EditText studentno; private ServiceConnection c ...