在注册了github账号之后,一度不知道该如何使用。

在仔细研究了github的官方说明文档、廖老师的教程、还有许多博主的文章之后,总算对github的操作和体系有了较为深刻的了解,还有这篇简单的入门教程希望能给你们带来启发。如果有不清楚或者错误地地方欢迎指出。本文以MAC OS操作系统为基础。

1.github是什么

先来摘录一段维基的关于github的说明:

GitHub is a Web-based GIt Version control repository hosting service

github是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,所以叫做Github。

简单地说,github是一个源代码的在线托管平台,我们写好了代码就可以上传到这个平台进行系统的管理。这个“管理”就是这个平台最厉害的地方,因为我们写代码的时候总会有BUG,遇到一个大项目总会和别的小伙伴一起工作,这其中的复杂如果是手工操作大家也可以想象是多么困难。

github的第一个长处就在于,版本控制。这个功能可以说非常强大了,很多人可能都有过写论文的经历,体验过第一版、第二版、第三版…最终版…最终终终终版的经历,万一最(终n)版本被否决了,想找最(终n-1)的版本,而又不小心因为手残等各种问题被删除了,那可真是作大死了。

写代码出bug,不断改代码的事情可以说是家常便饭了,如果每一个版本都要手动去找真的很困难,这个时候就发明了github用来解放众coder,通过将码好的代码上传,版本控制工具可以用于记录程序开发的每个版本,这样不管你是想要第n个版本,还是第n-3个版本都可以快速找到并恢复,不再为版本的保存和管理抓破头皮了!

github的第二个长处就是协同工作,一般把github认为是树状结构,但是我觉得在这里如果比作河流的话也会很好理解,我们总的项目如同长江,每一个贡献代码的小伙伴就像是支流,支流汇入主干形成了我们最后的项目。当然这种比喻不严谨,但是作为理解协同工作也许是个好比喻:)github的代码托管为我们的协同工作提供了方便。

那我们为何要使用git?如果这些理由还不够,github还可以记录你在代码世界中的成长轨迹,在你的个人主页里有一个贡献值(contribution activity),按照颜色的深浅记录你这一年在 github提交代码的量,许多公司在招聘员工的时候,不仅会要求你能熟练操作git,更会看你在github上的真实的贡献值,因为这个贡献值很难造假,所以也是评估一个coder能力和兴趣的重要条件。

长篇大论说完,我们还是开始上手真实地操作吧!

2.配置运行环境

首先在Terminal(在mac os上最简单的方法就是用control+空格键呼出spotlight,然后在里面输入terminal)中输入:

git --version

检查是否安装了git,如果已经安装,会显示

git version 2.15.      #版本可能有出入

如果没有安装,请输入:

brew install git       #如果没有安装Homebrew,请自行搜索安装教程
brew link git

然后设置Git运行环境:

git config --global user.name "your name"    #注意空格,并在引号中输入名字
git config --global user.email your-email #最后替换成你的邮箱

最后可以输入

git config user.name
git config user.email

检查是否配置成功。

通过提交名字和邮箱,可以使今后每一次代码的提交带上你的烙印。

在接下来的操作之前,需要你自行去github申请一个账号噢。

3.创建Git repository,克隆库到本地

repository被翻译为库,是github操作最重要的概念之一,在库里,你就可以放上自己的项目。作为新手,最好的方式是我们先创建一个远程库。

首先,登录Github,点击右下角的New repository,创建一个新项目

在Repository name里填写这个项目的名字,可以选择在Description中添加对库的简要描述,然后默认public公开(private要付费,充分贯彻github的开源精神),最后选择initialize this repository with a README,这个选项会添加一个markdown格式的文件,通过具体描述,帮助别人理解这个库的内容。最后点击Create repository,就完成了你的第一个远端库的创建!

下一步只需在terminal内输入:

git clone https://github.com/AnnikaGeng/learn.git   #替换名字和刚创建的库的名字

稍等一会儿,我们就将刚才远程创建的名为learn的库克隆到本地了。此时你应该可以在本地找到一个名为learn的文件夹,里面已经有一个叫README.md的文件了,这就是我们刚才创建的markdown格式的文件。

4.学会提交代码到远程库

接下来就是我们这个简易教程的最后一步,提交代码环节,我们可以在刚刚那个learn文件夹里随意创建一个代码文件,比如用sublime Text创建一个python文件:

print("Hello,world")

保存为hello.py。

然后用terminal打开这个文件夹,可以在terminal中cd(change dictionary)到该文件夹,但是最简单的方法是选中文件夹直接右键,点最后一个选项:新建位于文件夹位置的终端窗口(New terminal at folder)。或者在system > preferences > keybord > shortcuts > services >files and folders 中设置new terminal at folder的快捷键。

打开之后依次输入以下代码:

git add hello.py                   #添加文件到暂存区
git commit -m "a new file" #提交所有暂存的改动,引号内写上此次提交的解释说明
git push origin master #将提交的内容推送到远程库

此时整个代码就已经推送完毕,可以在github中查看。

对add/commit/push的解释如下图:

平时我们在电脑里能看到的本地目录叫做工作区(working directory),里面是我们的本地文件。

通过git add 这个命令,我们把文件添加到了暂存区(stage),可以多次add。

当我们添加完所有的文件到暂存区,完成了一天的工作,可以只使用一个命令git commit,把今天的所有代码一次性提交到master分支,也就是如同我刚才提到的河流的主干一样的部分。

这时就完成了你本地文件的推送,要是想给其他人看到,和其他人一起工作,就需要把这个本地文件,推送到远端,通常我们叫这个远端为origin。

此时,再回到github网站,新的项目应该已经和本地的改动同步了,你可以在learn 这个库中,看到你刚才创建的hello.py文件。

更多的git操作可以参考:

1.廖雪峰的官方网站

2.https://git-scm.com/book/en/v2

10分钟入门git简易教程的更多相关文章

  1. 不用搭环境的10分钟AngularJS指令简易入门01(含例子)

    不用搭环境的10分钟AngularJS指令简易入门01(含例子) `#不用搭环境系列AngularJS教程01,前端新手也可以轻松入坑~阅读本文大概需要10分钟~` AngularJS的指令是一大特色 ...

  2. Markdown - Typora 10分钟入门 - 精简归纳

    Markdown - Typora 10分钟入门 - 精简归纳 JERRY_Z. ~ 2020 / 8 / 22 转载请注明出处! 目录 Markdown - Typora 10分钟入门 - 精简归纳 ...

  3. Apache Shiro系列三,概述 —— 10分钟入门

     一.介绍 看完这个10分钟入门之后,你就知道如何在你的应用程序中引入和使用Shiro.以后你再在自己的应用程序中使用Shiro,也应该可以在10分钟内搞定. 二.概述 关于Shiro的废话就不多说了 ...

  4. JavaScript 10分钟入门

    JavaScript 10分钟入门 随着公司内部技术分享(JS进阶)投票的失利,先译一篇不错的JS入门博文,方便不太了解JS的童鞋快速学习和掌握这门神奇的语言. 以下为译文,原文地址:http://w ...

  5. kafka原理和实践(一)原理:10分钟入门

    系列目录 kafka原理和实践(一)原理:10分钟入门 kafka原理和实践(二)spring-kafka简单实践 kafka原理和实践(三)spring-kafka生产者源码 kafka原理和实践( ...

  6. Git简易教程-安装及简单使用

    Git是一种版本控制器,在项目开发中可以用来托管代码 一.下载安装Git 1. Git下载 地址:https://git-scm.com/download/win 2. 安装 检验是否安装成功 电脑桌 ...

  7. Git简易教程(常用命令)

    本文章参考了Pro Git 1 Git简介 Linux内核开源项目有着众多参与者,为了提高开发效率,项目组于2002年开始启用分布式版本控制系统BitKeeper来管理和维护代码.在BitKeeper ...

  8. [入门到吐槽系列] Webix 10分钟入门 一 管理后台制作

    前言 本人是服务端程序员,同时需要兼职前端开发.常用的就是原生态的HTML.Javascript,也用过ExtJS.Layui.可是ExtJS变公司后非常难用.Layui上手还行,用过一段时间,会觉得 ...

  9. [入门到吐槽系列] Webix 10分钟入门 二 表单Form的使用

    前言 继续接着上一篇的webix入门:https://www.cnblogs.com/zc22/p/15912342.html.今天完成剩下两个最重要的控件,表单和表格的使用.掌握了这两个,整个Web ...

随机推荐

  1. PAT02-线性结构3 Reversing Linked List

    题目:https://pintia.cn/problem-sets/1010070491934568448/problems/1037889290772254722 先是看了牛客(https://ww ...

  2. 404 Note Found队Beta3

    目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:凯琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示 ...

  3. 安装github教程

    1.注意事项 .在FF和chrome会把GitHub.application当成一个应用程序下载下来,安装下载下来的程序也会失败的,只能通过ie直接安装. 2.要用https,不能用http. 2.安 ...

  4. java官网门户源码 SSM框架 自适应-响应式 freemarker 静态模版引擎

    来源:http://www.fhadmin.org/webnewsdetail3.html 前台:支持(5+1[时尚单页风格])六套模版,可以在后台切换 官网:www.fhadmin.org 系统介绍 ...

  5. canvas 绘制双线技巧

    楔子 最近一个项目,需要绘制双线的效果,双线效果表示的是轨道(类似铁轨之类的),如下图所示: 负责这块功能开发的小伙,姑且称之为L吧,最开始是通过数学计算的方式来实现这种双线,也就是在原来的路径的基础 ...

  6. React-Native项目中使用Redux

    前言 网上别人的文档都是 直接 就是上redux redux-thunk react-redux ,immutable这样的一套,这个有经验的看还行,新手看就很吃力了,需要了解一步一步的安装redux ...

  7. 关于 class helper for ... 语法

    转载于万一的博客https://www.cnblogs.com/del/archive/2009/10/13/1582789.html class helper 可能是从 Delphi 2007 增加 ...

  8. IntelliJ IDEA 历史版本下载地址

    地址:https://confluence.jetbrains.com/display/IntelliJIDEA/Previous+IntelliJ+IDEA+Releases scala插件:htt ...

  9. Verdi调用VCS进行交互式仿真

    前一篇介绍了使用Verdi的后处理模式查看仿真波形进行调试,此外Verdi还支持交互模式,可以调用外部仿真器,下面介绍Verdi调用VCS进行交互模式仿真的方法.注意,这里介绍的方法需要2016版的V ...

  10. 20155333 实现mypwd

    20155333 实现mypwd 学习pwd命令 Linux中用 pwd 命令来查看"当前工作目录"的完整路径. 命令格式:pwd [选项] 命令功能:查看"当前工作目录 ...