Git是一个分布式的版本控制系统,作为开源代码库以及版本控制系统,Github目前拥有140多万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。

Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括 Rubinius和Merb在内的很多知名项目都使用了Git。Git同样可以被诸如Capistrano和Vlad the Deployer这样的部署工具所使用。

如前所述,作为一个分布式的版本控制系统,在Git中并不存在主库这样的概念,每一份复制出的库都可以独立使用,任何两个库之间的不一致之处都可以进行合并。
GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForgeGoogle
Code
这 样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将 代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。

今天我们就来学习github的使用,我们将用它来管理我们的代码,你会发现它的好处的,当然是要在本系列教程全部完成之后,所以请紧跟站长的步伐,今天是第一天,我们来学习如何在git上建立自己的版本仓库,并将代码上传到仓库中。

教程【一】

一、注册一个免费git帐号,可以无限建立访问权限为公共的版本仓库,注册地址:https://github.com/signup/free

二、依次填写,用户名【昵称】、邮箱地址【用来登录】、密码,点击“creat an account”进行注册

三、点击右上方的”sign in”使用注册邮箱登录到git

四、点击右上方,你的用户名之后的图标,新建一个版本仓库

五、在“Repository name”一栏里填写版本仓库的名称,我们假设为”test”,Description栏是描述,可填可不填。

默认访问权限为公共,我们点击”Creating Repository”按钮,创建我们的第一个版本仓库。

接下来,我们需要在本地安装git客户端。

六、以windows为例,下载客户端:http://github-windows.s3.amazonaws.com/GitHubSetup.exe,安装完成后,会在桌面上出现两个图标,Git
Shell和GitHub。

七、那两个图标分别是命令行工具和图形界面,我们先来学习使用shell。

八、双击打开Git Shell,【win7用户使用管理员权限打开】

九、输入git config --global user.name "d1php",这里的d1php是站长注册的用户名,你得改成你自己的

十、输入git config --global user.email "studyphp@yahoo.cn",这里的邮箱也是是站长注册的邮箱,你得改成你自己的

十一、上面两步在客户端配置你的git帐户,下面我们在本地建立自己的版本仓库,站长把版本仓库建立在D盘。输入cd d:,切换到D盘目录。

十二、输入mkdir test,建立一个test目录,注意本地仓库名要和git中建立的仓库名一样

十三、输入cd test,进入test目录

十四、输入git init,初始化版本仓库

十五、输入touch README,建立一个README文件

十六、用文本编辑器打开README文件,随便输入一点文件,比如:this is a test!

十七、输入git add README,将文件添加到上传队列

十八、输入git commit -m 'test commit',缓存提交,引号中的是对本次提交的描述,必须填写,不能为空

十九、输入git remote add origin https://github.com/d1php/test.git,注意url格式,d1php是你注册时的昵称,test是你刚才建立的版本仓库

二十、输入git push origin master,将README文件上传到版本库。这一步会一次让你填写你的git注册邮箱和密码,注意不要填错了

好了,到这一步,我们就完成了在线上和线下建立git版本库并上传文件的全部步骤。下节课我们来学习GitHub的使用,图形界面大家肯定更容易接受。

教程【二】

上一节课我们学习了git shell的初步使用,今天我们来学习github的图形界面。

一、双击桌面上的GitHub图标

二、在打开的界面中,点击Log In,图下图所示:

三、在界面中输入用户名和密码,如下图所示:

四、点击LOG IN,进入下图所示界面:

五、点击’continue’,进入下图所示界面:

六、提示我们没有找到本地版本仓库,这是因为git客户端默认是在C盘的git目录中查找版本库,而我们在上节课中建立的版本仓库在D盘,所以才找不到,没关系我们自己来查找,点击SKIP,进入下图所示界面:

七、点击’tools’,在下拉菜单中选择’options’,进入下图所示界面:

八、定位到D盘目录,然后点击SCAN FOR REPOSITORIE,扫描本地仓库,如下图所示:

九、很快就找到了我们上节课建立的版本仓库,test,点击左下方的add,再点击update,进入下图所示界面:

十、进入D:/test目录,新建一个名为hello的txt文件,在其中输入hello world!,然后点击上图中的箭头打开版本库,进入下图所示界面:

十一、左边栏会列出最新有改动的文件,右边第一栏填写对本次提交的描述,我们填’hello world’;第二栏是详细描述,可以不填。填完后点击’commit’提交,进入下图所示界面:

十二、在右边我们可以看见刚才新建的提交:hello world,点击publish,将我们的改动上传到线上的git仓库中。

十三、稍等片刻,即可完成上传,如下图所示:

上传成功后,我们可以在左边看见刚才完成的提交。然后我们访问线上的仓库,检查一下:https://github.com/d1php/test

是的,线上的test仓库又多了2个文件。

好了,到这里我们就已经使用GitHub图形界面完成了一次文件上传,下节课我们将回到gitshell的学习。我们将使用gitshell下载线上的版本仓库到本地,如果对本教程有疑惑可以联系站长哦。

教程【三】

今天我们来学习如何使用gitshell将线上的版本仓库下载到本地。我们为什么要把线上的仓库下载到本地,通常情况下是我们想要参与别人的项目。

github上面有一个项目:https://github.com/octocat/Spoon-Knife,点击访问它。

现在我们想要参与这个项目,需要进行以下步骤:

一、访问上面的链接,点击fork按钮,

二、现在spoon-knife项目已经添加到你的线上版本仓库中了,我们要下载它。打开gitshell,输入https://github.com/d1php/Spoon-Knife.git,注意这里的d1php应该是你注册时的昵称,在此使用了站长的帐号。

三、前两节我们把版本仓库建立在了D盘根目录,因此这里默认是在D盘目录只想的shell,进入D盘,会发现多了一个spoon-knife目录,线上的源码已经下载下来了。

四、输入cd spoon-knife

五、输入git remote add upstream https://github.com/octocat/Spoon-Knife.git,这里我们使用的是原项目的地址,确保我们可以随时跟踪到原项目

六、输入git fetch upstream,获取原项目最新的与你本地版本库不同的修改,但是不修改你的本地文件

好了,如何将线上仓库下载到本地就学习到这里,下节课我们学习如何建立版本分支。

教程【四】

学习,贵在持之以恒!欢迎大家跟站长继续学习github的使用,今天我们将学习如何使用 gitshell建立版本分支。如果你想要在原项目的基础上尝试一些新的思路或者开发新功能、修改等等,你可以建立原项目的一个分支,这样当进行修改时原 来的代码是不会受到影响的。我们前几节课建立一个test版本库,今天我们来为它建立 一个分支。

一、打开gitshell,输入 cd test,进入本地的test版本库

二、输入git branch testbranch

三、输入git checkout testbranch,将testbranch分支设置为当前工作分支

四、输入git add ./,将test目录的所有文件添加至上传队列

五、输入git commit -m 'newbranch',缓存提交

六、输入git remote add origin https://github.com/d1php/test.git,配置上传目标仓库

七、输入git push -u origin testbranch,将文件上传到分支

然后访问:https://github.com/d1php/test/branches,会发现多出了一个分支testbranch!

怎么样,今天的学习很轻松吧。明天我们将学习如何使用github图像界面将线上仓库中有改动的文件下载到本地,或者称之为“版本同步”。

教程【五】

今天我们学习如何使用github图形界面来让我们本地的版本仓库和线上的仓库保持一致,或者说如何把线上仓库中有改动的文件下载到本地。

一、首先,我们访问https://github.com/d1php/test。还记得我们在第一节课建立的hello.txt文件吗?如下图所示:

二、双击该文件,来到下图所示的界面:

三、点击edit按钮,并对文本进行一些修改,如下图所示:

四、编辑完之后,点击页面最下方的commit changes按钮:

五、打开github,如下图所示:

六、点击右边的箭头,打开本地仓库,如下图所示:

七、github会自动读出最新的修改,并且上端会出现一个蓝色sync【sync是同步的意思】按钮。如果你没有看见蓝色的图标,可以点击F5刷新界面。现在我们点击sync按钮,这样github会将线上有改动的文件下载到本地,如下图所示:

下载玩之后,蓝色的sync会变成灰色的in sync,这说明最新的文件已经下载到本地的仓库了,去检查一下吧!怎么样,没错吧。

感谢大家跟着站长进行了5天的学习,明天我们将继续学习github图形界面的使用,我们将学习如何使用github图形界面来建立一个版本库的分支。

教程【六】

学习,有时候就是一个漫长而枯燥的过程,但是当你走到终点时,回过头来再看看这段路,则会露出满不在乎的表情!今天我们学习如何使用gitgui来建立版本分支。

一、打开github图形界面,点击蓝色箭头打开我们之前建立的test仓库,如下图所示:

二、在打开的界面中,点击master按钮,如下图所示:

三、在弹出的窗口中,点击manage按钮,如下图所示:

四、进入分支界面,把鼠标移动到master分支上,并点击加号,如下图所示:

这会以master分支的文件为蓝本建立一个新的分支。

五、点击加号后,会弹出输入框,输入新分支的名称,并点击BRANCH按钮创建分支,如下图所示:

站长输入是testbranch2,因为之前用gitshell建立一个testbranch分支。

六、创建完之后,会在当前页面显示新分支,如下图所示:

点击publish按钮,将新分支发布到线上的git仓库中。发布完之后,publish按钮会变成unpublish,说明分支已经上传到线上的仓库中了。

七、访问https://github.com/d1php/test/branches,查看分支情况,如下图所示:

我们会发现,尽管显示有3个分支,但是在页面上只呈现了2个,新建立的没有出现,这是因为默认是读取master分支以及没有与master整合的 分支,而我们刚才创建的testbranch2分支是以master为蓝本,因此它们之间没有任何不同,所以才没有显示。我们点击branch下拉按钮, 可以看见我们刚才建立的testbranch2分支。

八、点击上图中的testbranch2按钮,进入下图所示界面:

现在,我们可以在线上的版本仓库中看见我们刚才建立的分支了。

九、现在我们回到第六步的github图形界面,把鼠标移动到新建分支testbranch2上面,如下图所示:

上图中第一个红圈包围的图标是用来删除分支的,它将同时删除本地和线上仓库的分支;第二个红圈仅仅删除线上仓库中的分支,本地分支会被保留。现在我们,点击第一个红圈包围的图标,将本地分支和线上分支同时删除。

十、访问https://github.com/d1php/test/branches,我们会发现刚才建立的testbranch2分支已经被删除了,gitgui中也不再显示该分支了。

ok,到此我们就学会了如何使用github图形界面创建、发布、删除分支,下节课我们将学习如何使用github图形界面对分支版本进行操作。

github版本库使用详细教程(命令行及图形界面版)的更多相关文章

  1. github版本库使用详细图文教程(命令行及图形界面版)

    投稿:mdxy-dxy 字体:[增加 减小] 类型:转载 时间:2015-08-06我要评论 今天我们就来学习github的使用,我们将用它来管理我们的代码,你会发现它的好处的,当然是要在本系列教程全 ...

  2. github版本库使用详细教程

    GitHubGit 教程[1] 同学们,上课了!今天我们来学习github的使用,我们将用它来管理我们的代码,你会发现它的好处的,当然是要在本系列教程全部完成之后,所以请紧跟站长的步伐,今天是第一天, ...

  3. GitHub搭建个人网站详细教程

    GitHub搭建个人网站详细教程: http://blog.csdn.net/gane_cheng/article/details/52203759

  4. CentOS 7系统启动后怎么从命令行模式切换到图形界面模式

    CentOS 7系统启动后怎么从命令行模式切换到图形界面模式原创传智播客官方博客 最后发布于2020-04-08 15:44:43 阅读数 88 收藏展开一.存在问题 在VMware虚拟机中成功安装c ...

  5. Pelican+Github博客搭建详细教程

    操作系统:Mac OS / Linux 工具集: 1.Pelican--基于Python的静态网页生成器 2.马克飞象--Evernote出的Markdown文本编辑器 3.GoDaddy--域名供应 ...

  6. 好用到爆!GitHub 星标 32.5k+的命令行软件管理神器,功能真心强大!

    前言(废话) 本来打算在公司偷偷摸摸给星球的用户写一篇编程喵整合 MongoDB 的文章,结果在通过 brew 安装 MongoDB 的时候竟然报错了.原因很简单,公司这台 Mac 上的 homebr ...

  7. 陋居寡闻,初探Github CLI For Windows,开启命令行撸铁时代

    简介 gh is GitHub on the command line. It brings pull requests, issues, and other GitHub concepts to t ...

  8. windows下安装python、环境设置、多python版本的切换、pyserial与多版本python安装、windows命令行下切换目录

    1.windows下安装python 官网下载安装即可 2.安装后的环境设置 我的电脑--属性--高级--设置path的地方添加python安装目录,如C:\Python27;C:\Python33 ...

  9. Java基础教程——命令行运行Java代码

    视屏讲解:https://www.bilibili.com/video/av48196406/?p=4 命令行运行Java代码 (1)使用记事本新建文本文件[Test.java]. 注意,默认状态下W ...

随机推荐

  1. C++中输出 位宽和小数点后位数 的控制

    要用到这个头文件: <iomanip> setw(x) : 表示控制输出x的位宽 setprecision(x) :表示 控制输出小数点后 x 位 cout.precision(x): 表 ...

  2. excel根据数据源变化的动态图表

    http://www.excelhome.net/lesson/article/excel/1798.html 这个链接讲的可以.

  3. 机器视觉 之 Gabor Feature

    在机器视觉中,gabor feature是一种比较常见的特征,因为其可以很好地模拟人类的视觉冲击响应而被广泛应用于图像处理, gabor feature 一般是通过对图像与gabor filter做卷 ...

  4. resEdit

    resEdit:一个图形界面编辑工具,它不但可以用来编写程序所图形界面(如修改图标.菜单.鼠标.版本信息等),还支持了对exe.dll等执行文件内的资源(图标.菜单.鼠标指针.位图.版本信息)等进行修 ...

  5. dsu on tree(无讲解)

    CF741D. Arpa's letter-marked tree and Mehrdad's Dokhtar-kosh paths 分析: 最多有一个字符出现奇数次 维护某个状态下深度的最大值,注意 ...

  6. alter table *** add constraint *** 用法---约束

    1.主键约束:要对一个列加主键约束的话,这列就必须要满足的条件就是分空因为主键约束:就是对一个列进行了约束,约束为(非空.不重复)以下是代码   要对一个列加主键,列名为id,表名为emp 格式为:a ...

  7. Day05:装饰器,三元表达式,函数的递归,匿名/内置函数,迭代器,模块,开发目录

    上节课复习:1.函数的对象    函数可以被当作数据取处理2.函数嵌套    嵌套调用:在调用一个函数时,函数体代码又调用了其他函数    嵌套定义:在一个函数内部又定义了另一个函数 def foo( ...

  8. Behave + Selenium(Python) 三

    来自T先生 通过之前的2篇文章,大家都了解了如果利用behave和selenium打开网页和进行基本的操作,但是这些对于项目来说,却是往往不够的. 如果对junit或者TestNG熟悉的人都知道有@B ...

  9. ceph应用情况分析

    1.概述 ceph是分布式的开源存储系统,同时支持块存储.对象存储和文件系统,ceph可以满足高性能.高可靠性和高扩展等特性. 目前ceph作为开源分布式存储已经被大量使用,尤其是在云环境下的应用,下 ...

  10. 细说ASP.NET Forms身份认证 别人写的不过很透彻就转来了以后用时再看

    阅读目录 开始 ASP.NET身份认证基础 ASP.NET身份认证过程 如何实现登录与注销 保护受限制的页面 登录页不能正常显示的问题 认识Forms身份认证 理解Forms身份认证 实现自定义的身份 ...