简单的介绍一下 Github 的基本操作。

主页:https://github.com/ 首先自然是在 GitHub 注册一个帐号了。然后开始正文吧。

Git 基本介绍

Git 是属于分布式版本控制系统(Distributed Version Control System,简称 DVCS),客户端会把代码仓库完整的镜像到本地,与 SVN 等集中式版本控制系统(Centralized Version Control Systems,简称 CVCS)相比,它没有“中央服务器”,每个客户端上都有一份完整的版本库,所以不需要联网即可工作,提高了安全性,而且支持强大的分支管理。

对于任何一个文件,在 Git 内都只有三种状态:已提交(committed),已修改(modified)和已暂存(staged)。已提交标识该文件已经被安全地保存在本地数据库中;已修改表示修改了某个文件,但还没有提交保存;已暂存表示把已修改的文件放在下次提交时要保存的清单中。[来源]

Git 管理项目时,文件流转的三个工作区域:Git 的工作目录暂存区域,以及本地仓库。如下图所示:

基本的 Git 工作流程如下:[来源]

  1. 在工作目录中修改某些文件。
  2. 对修改后的文件进行快照,然后保存到暂存区域。
  3. 提交更新,将保存在暂存区域的文件快照永久转储到Git目录中。

下面介绍在 GitHub 网页端的简单操作:

一  创建仓库(Create a Repo)

1、在任何页面的右上角选择"New repository"或者在 GitHub Bootcamp (训练营)中选择"Create repositories"

2、填写仓库基本信息:

Repository name: 仓库名称

Description(可选): 仓库描述介绍

Public, Private: 仓库权限(公开共享,私有或指定合作者)

Initialize this repository with a README: 初始化文件 README.md

gitignore: 不需要进行版本管理的仓库类型,对应生成文件 .gitignore

license: 证书类型,对应生成文件 LICENSE

3、创建后如下图所示:

如果创建时,选择了 Initialize this repository with a README ,则会自动生成一个 README.md 文件;如果选择了 Add .gitignore ,则会自动生成 .gitignore 文件;如果选择 Add a license ,则会自动生成一个 LICENSE 文件;

二  修改并提交(Commit changes)

1、这里以 README.md 文件为例,在上图中点击打开"README.md"文件

2、选择右上角的编辑图标进行编辑

3、添加/修改其中的文本内容后,也可以在"Preview changes"中预览

在预览中会标记出修改或添加的内容

4、在页面底部,填写简短的提交信息或描述介绍修改/添加的内容,然后点击"Commit changes"提交即可。

5、在提交修改信息处所填的信息对应仓库目录浏览处的位置如下图所示:

另:在仓库里添加文件则点击仓库右侧的"+"即可,其他操作均同上面所讲;注意文件名里要带上后缀名。

三  拷贝仓库(Fork a Repo)

fork 译为:分叉,在 Github 里,一个 fork 就相当于 repository 的一份拷贝,当然,这样你就可以在你自己帐号中的仓库里实验修改测试,而不会影响到原来的仓库内容的。

进入你要 fork 的仓库(repository)里,例如 octocat/Spoon-Knife,然后点击右上角的 Fork,就可以将该仓库拷贝到你的帐号中。

==>

四  删除仓库(Delete a Repo)

1、进入相应的仓库,选择右侧工具栏中的"Setting"

2、然后选择 Delete this repository

3、在弹出的对话框中填入要删除的当前仓库名称,确认即可

我一般不喜欢在网页端编辑操作什么的,毕竟说不定丫的什么时候就断网或者提交失败的,然后辛辛苦苦排版或编辑好的内容就飞了,所以我又重点学习了解了一下 GitHub 客户端的使用,下面就重点介绍一下 GitHub 客户端的使用。

下面介绍 Windows 客户端 GitHub 工具的基本安装配置

一  安装配置 Github for Windows(Windows 7系统)

1、下载 GitHub for Windows 并安装(这个软件安装和卸载有点儿蛋疼,卸载时 Git Shell 会卸载不掉,不过不影响使用)

==>

    安装完成桌面出现的两个图标如上图所示,左侧为 UI 可视化管理工具,右侧为命令行管理工具;

2、连接 GitHub 帐号(可以通过 GitHub 或者 Git Shell 两种操作方式连接,嫌麻烦的直接方法一,闲蛋疼的直接方法二,楼主明显占其二了)

  • 方法一:打开 GitHub,在右上角的"Options"中添加新账户"Add account",然后填写用户名(或邮箱)和密码登录即可

  ==> 

然后在左上角点开“+”里面即可看到 GitHub 帐号里的项目

  • 方法二:打开 Git Shell,首先该工具与 GitHub 中的"Options"中右侧的 Defaul shell选择有关,

cmd 对应窗口

Git Bash 对应窗口

PowerShell 对应窗口

以及最后的自定义启动。这里采用 Git Bash 方式。(楼主,那他们的区别你咋不说啊?它们有嘛区别呀?楼主说了,嘛区别呢,嘛区别呀,谁知道有嘛区别呢……请自力更生吧)

再通过命令行来设置 Git 的信息,用户名和邮箱:

git config --global user.name "YOUR NAME"
git config --global user.email "YOUR EMAIL ADDRESS"

这两行命令的执行效果与 GitHub 的"option"里的 Configure git 处设置相对应;

Git 连接 GitHub 是通过 ssh,所以需要通过命令行创建一个新的 ssh key:

ssh-keygen -t rsa -C "YOUR EMAIL ADDRESS"

执行该命令时,会提示文件保存路径,默认为系统用户文件夹下的 .ssh 文件夹里

[来源]

这里采用默认路径,直接回车;然后会提示输入密码,需要输入两次(也可以不输入直接回车两次);

[来源]

然后就会生成类似如下内容的信息

[来源]

执行到这里,你就会在指定的目录 .ssh 文件夹里发现生成了两个文件,id_rsa 和 id_rsa.pub

接着,你可以通过文本编辑的方式复制 id_rsa.pub 中的 public key,或者通过下面的命令方式复制

clip < ~/.ssh/id_rsa.pu

这个 public key 是要粘贴到 GitHub 设置的 SSH Keys 里面的,按如下操作:

在 GitHub 任何网页页面的右上角处, 点击"Setting"图标,然后在"Personal settings"栏中选择"SSH keys"选项卡,并点击其右上角的"Add SSH key",

填写一个 Title 作为标识,然后把之前复制的 public key 粘贴到 Key 下面的文本框中,点击"Add key",即可。

最后需要验证一下添加的 SSH key 是否连接成功,可以执行如下的命令验证,或者打开 GitHub 客户端也可以:

ssh -T git@hostname

如果看到警告消息,类似:

[来源]

别管他,yes 回车就可以看到类似如下的消息提示:

[来源]

ok,到这里,通过 Git Bash 方式连接 GitHub 就成功了。很显然,通过 Git Bash 配置过程有点儿多,还是第一种方法实在简单,都体验一下吧。

二  同步/克隆仓库到本地(Sync/Clone repository)

在你的每个仓库页面的右下角处,都有一块如下图所示的区域:

点击图标以复制仓库的克隆地址,然后在命令行里执行如下代码:

注意,clone 后面的参数就是之前在网页端 copy 的 HTTPS clone URL,要在 Git Bash 中粘贴,则需要按如下图所示操作:

运行命令即可得到如下提示:

执行效果

通过命令行 Clone 下来的仓库(repository)会存放在对应用户文件夹(C:\Users\用户名\)根目录下。

当然也可以通过 GitHub 客户端软件更快捷的 Clone 仓库,Clone 的路径它会提示让你选择,

==> 点击下面的"Clone test" ==>

如果网页端有关于该仓库的更改,还未同步到本地,则在右上角的"Sync"处会有如下提示:

  看清楚是向下↓的箭头哦

点击"Sync"即可将修改内容同步到本地:

如果本地修改了仓库里文件,而且还未同步到服务器,则在"History"的上面会出现"Uncommitted changes",展开后右侧也会显示修改的相关内容:

同网页端操作一样,这时候你需要填写一下修改的 Summary 和 Description,然后提交(Commit to master),这时候在右上角的"Sync"处会有如下提示:

  这回是向上↑的的箭头喽

点击即可同步到服务器端了!

三  参考资料

1、廖雪峰的官方网站 Git教程

2、git-scm.com

[Tool] github 入手教程的更多相关文章

  1. GitHub具体教程

    GitHub具体教程 Table of Contents 1 Git具体教程 1.1 Git简单介绍 1.1.1 Git是何方神圣? 1.1.2 重要的术语 1.1.3 索引 1.2 Git安装 1. ...

  2. GitHub详细教程

    GitHub详细教程 Table of Contents 1 Git详细教程 1.1 Git简介 1.1.1 Git是何方神圣? 1.1.2 重要的术语 1.1.3 索引 1.2 Git安装 1.3 ...

  3. Git和Github简单教程

    原文链接:Git和Github简单教程 网络上关于Git和GitHub的教程不少,但是这些教程有的命令太少不够用,有的命令太多,使得初期学习的时候需要额外花不少时间在一些当前用不到的命令上. 这篇文章 ...

  4. GitHub 使用教程图文详解(转)

    大纲: 一.前言 二.GitHub简介 三.注册GitHub账号 四.配置GitHub 五.使用GitHub 六.参与GitHub中其它开源项目 七.总结 注,GitHub官网:https://git ...

  5. github 基础教程推荐

    github现在很火的样子 我在一篇博客上看到说“如果你不知道什么是github,那你就不能说你是个coder,如果你现在看到这篇博客,那么你已经是个coder了”. 我对github一直很好奇,可是 ...

  6. 【软件使用】GitHub使用教程for VS2012

    一直以来都想使用Git来管理自己平时积累的小代码,就是除了工作之外的代码了.有时候自己搞个小代码,在公司写了,就要通过U盘或者网盘等等一系列工具进行Copy,然后回家才能继续在原来的基础上作业.Cop ...

  7. Git-it:一个学习Git和Github的教程(软件)

    Git-it https://github.com/jlord/git-it 2016-08-01 在FreeCodeCamp的引导下了解到的Git-it.OSC有收录. Git-it是一个指导使用G ...

  8. GitHub 使用教程图文详解

    大纲: 一.前言 二.GitHub简介 三.注册GitHub账号 四.配置GitHub 五.使用GitHub 六.参与GitHub中其它开源项目 七.总结 注,GitHub官网:https://git ...

  9. Git和Github简单教程(收藏)

    原文链接:Git和Github简单教程 目录: 零.Git是什么 一.Git的主要功能:版本控制 二.概览 三.Git for Windows软件安装 四.本地Git的使用 五.Github与Git的 ...

随机推荐

  1. Opserver开源的服务器监控系统(ASP.NET)

    Opserver是Stack Exchange下的一个开源监控系统,系统本身由C#语言开发的ASP.NET(MVC)应用程序,无需任何复杂的应用配置,入门很快.下载地址:https://github. ...

  2. input标签中button在iPhone中圆角的问题

    1.问题 使用H5编写微信页面时,使用<input type="button"/>时,在Android手机中显示正常,但是在iPhone手机中则显示不正常,显示为圆角样 ...

  3. MySQL Workbench建表时 PK NN UQ BIN UN ZF AI 的含义

    [转自网络]https://my.oschina.net/cers/blog/292191 PK Belongs to primary key 作为主键 NN Not Null 非空 UQ Uniqu ...

  4. Set up VLAN (802.1q) tagging on a network interface?

    SOLUTION VERIFIED October 13 2015 KB39674 KB741413 environment Red Hat Enterprise Linux 4 Red Hat En ...

  5. Linux模块编程框架

    Linux是单内核系统,可通用计算平台的外围设备是频繁变化的,不可能将所有的(包括将来即将出现的)设备的驱动程序都一次性编译进内核,为了解决这个问题,Linux提出了可加载内核模块(Loadable ...

  6. 【原】npm 常用命令详解

    今年上半年在学习gulp的使用,对npm的掌握是必不可少的,经常到npm官网查询文档让我感到不爽,还不如整理了一些常用的命令到自己博客上,于是根据自己的理解简单翻译过来,终于有点输出,想学习npm这块 ...

  7. C#单元测试面面观

    标题有点标题党,但相信各位看完这篇文章一定会所收获,如果之前没有接触过单元测试或了解不深通过本文都能对单元测试有个全新认识.本文的特点是不脱离实际,所测试的代码都是常见的模式. 写完这篇文章后,我看了 ...

  8. 【完全开源】知乎日报UWP版:增加Live磁贴、Badge、以及Toast通知

    目录 说明 实现方法 APP生命期 后台任务 说明 之前网上有人建议增加磁贴(tile).徽章(badge)功能.利用周末的时间,将这两个功能添加上去了.如果将磁贴固定到开始屏幕,磁贴就会循环播放首页 ...

  9. 小丁带你走进git的世界四-重写历史记录

    一.git对象文件创建 开篇先补充一个知识点,就是比如我建立一个文件之后,使用git add就会生成一个git对象,但是git对象生成后可以在.git/objects里面对应,首先我们来初始化一个仓库 ...

  10. CSharpGL(20)用unProject和Project实现鼠标拖拽图元

    CSharpGL(20)用unProject和Project实现鼠标拖拽图元 效果图 例如,你可以把Big Dipper这个模型拽成下面这个样子. 配合旋转,还可以继续拖拽成这样. 当然,能拖拽的不只 ...