简单的介绍一下 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. 【NLP】Python NLTK获取文本语料和词汇资源

    Python NLTK 获取文本语料和词汇资源 作者:白宁超 2016年11月7日13:15:24 摘要:NLTK是由宾夕法尼亚大学计算机和信息科学使用python语言实现的一种自然语言工具包,其收集 ...

  2. CSS 3学习——transform 2D转换

    首先声明一点,transform属性不为none的元素是它的定位子元素(绝对定位和固定定位)的包含块,而且对内创建一个新的层叠上下文. 注意:可以通过 transform-box 属性指定元素的那个盒 ...

  3. 如何在Elasticsearch中安装中文分词器(IK+pinyin)

    如果直接使用Elasticsearch的朋友在处理中文内容的搜索时,肯定会遇到很尴尬的问题--中文词语被分成了一个一个的汉字,当用Kibana作图的时候,按照term来分组,结果一个汉字被分成了一组. ...

  4. ASP.NET中画图形验证码

    context.Response.ContentType = "image/jpeg"; //生成随机的中文验证码 string yzm = "人口手大小多少上中下男女天 ...

  5. java web学习总结(五) -------------------servlet开发(一)

    一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...

  6. Android Studio开发RecyclerView遇到的各种问题以及解决(二)

    开发RecyclerView时候需要导入别人的例子,我的是从github导入的,下载下github的压缩包之后解压看你要导入的文件是priject还是Module.(一般有app文件夹的大部分是pro ...

  7. Ubuntu设置root用户登录图形界面

    Ubuntu默认的是root用户不能登录图形界面的,只能以其他用户登录图形界面.这样就很麻烦,因为权限的问题,不能随意复制删除文件,用gedit编辑文件时经常不能保存,只能用vim去编辑. 解决的办法 ...

  8. 怎样在Dos里切换盘符

    一:在Dos里切换盘符 a:在电脑左下角右击显示图片;(我用的是win10系统,其他系统类似) b:点击运行,输入cmd; c:点击确定: d:输入盘符:(如f:) 或F: 只写字母,不写分号是不行的 ...

  9. XSS 前端防火墙 —— 天衣无缝的防护

    上一篇讲解了钩子程序的攻防实战,并实现了一套对框架页的监控方案,将防护作用到所有子页面. 到目前为止,我们防护的深度已经差不多,但广度还有所欠缺. 例如,我们的属性钩子只考虑了 setAttribut ...

  10. Topshelf 支持Mono 扩展Topshelf.Linux

    使用Topshelf 5步创建Windows 服务 这篇文章大家可以了解到使用Topshelf可以很好的支持Windows服务的开发,但是它和Mono不兼容,Github上有一个扩展https://g ...