GitHub与Git的区别与入门

很早之前就已经注册了一个GitHub,不过一直以来对于GitHub与Git二者之间的关系都是懵懵懂懂的,工作用到的技术都比较保守,用的都是行内的一套,像这种基本接触不到,只能靠自己,正好想起,学习了下,正好做个记录,慢慢完善

Git简单的来说就是一个版本控制系统(Version Control System,VCS)。

版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。就如早期的SVN,CSV。

Github 和 Git 是两回事,如果把Git比做一个运输工具,那么GitHub就是一个仓库,而且是一个别人提供的免费仓库,你可以通过Git这个运输工具远程控制往里面放取东西,别人也可以放取,当然也可以只能自己存取,但是毫无疑问,这是需要交托管费的,毕竟特殊对待在哪里都不能轻易得到。

所以总的来说呢:Git是版本控制系统,Github是在线的基于Git的代码托管服务

**

Git及GitHub的使用:

**

Pro Git这本书非常不错,目前正在看,推荐看一下,绝对值得
英文版:https://git-scm.com/book/en/v2
中文版:https://git-scm.com/book/zh/v2

操作之前先将Git及GitHub先安装好,
Git: https://git-scm.com/book/zh/v2
GitHub: https://windows.github.com

1.注册GitHub

在GitHub官网注册账号:https://github.com

注册完成后会有一个简单的新手引导,引导你建立一个简单的仓库,及一些简单的在线操作,作为一个IT,英语阅读能力还是很重要啊
GitHub与Git的区别与入门

Git使用:

1.账户也注册好了,打开终端terminal,输入

$ cd ~/.ssh

因为是第一次,这时会出现No such file or directory,我们只要建立**就好,输入如下指令

$ ssh-****** -t rsa -C “你的邮箱github”

一路回车,一个是修改密码,不过密码大于4位,否则要重新来过,该密码是在你提交项目的时候需要输入的密码,不设即为空;默认是保存在users/ 下面,到时会出现信息的,下面是一张实际操作的图(该图是百度上拿来的)
GitHub与Git的区别与入门

输入: more ~/.ssh/id_rsa.pub

就可以看到自己的ssh-rsa**,打开自己的github账户,点击右上角的setting,输入**;
GitHub与Git的区别与入门
然后就可以使用git来与GitHub建立连接了。


**

  1. 建立本地仓库(repository):

**

这里我们就来创建一个HelloWorld的本地版本库,
首先创建一个HelloWorld的文件夹

$ mkdir HelloWorld

进入文件夹

$ cd HelloWorld

输入初始化指令:

$ git init

初始化Git仓库。此时用ls -a查看当前目录,可以看到多了一个.git/的文件夹,此文件夹保存了版本控制的所有相关信息
GitHub与Git的区别与入门

这样一个本地版本库就创建好了


下面来创建一个文件,提交到本地版本库中
输入如下指令,创建一个简单的readme.txt 文件:

$ echo “This is a test file.” > readme.txt

输入:

$ git status

输入指令后,可以看到readme.txt在Untracked files(无印记的文件)下面呈现红色,表示该文件没有纳入到git管控
GitHub与Git的区别与入门

使用如下指令,将该文件加入缓冲区(注:这里的文件是指那些未被纳入git管控的文件或者是有修改的文件)

加入单个文件:
$ git add readme.txt

加入当前目录所有的文件
$ git add .

加入后现在用 git status 查看,将看到文件名变为绿色。表示已经加入到缓冲区中了
GitHub与Git的区别与入门

加入到缓冲区后,就可以进行提交操作了,将文件提交到版本中

$ git commit -m “The file commit via git”

-m后面的是提交时候的提交说明,用来标识提交内容的,方便后续查询,该部分作为一个合格的开发人员是必写的

提交之后,可以使用git log查看提交的信息记录,上面会有提交者的ID,提交日起等信息,这样一个本地版本库就创建完成了。
GitHub与Git的区别与入门


**
2. 将本地版本库提交到GitHub上面
**
首先需要在GitHub上创建一个版本库,在主页上点击new repository,创建一个HelloWorld的库
GitHub与Git的区别与入门
在Github上创建好Git仓库之后,就可以进行和本地仓库的关联操作了,在本地的Git仓库中输入指令:

$ git remote add origin https://github.com/xiliSkiy/HelloWorld

origin后面的那串地址其实就是你GitHub上HelloWorld仓库的地址,可以直接在地址栏获取

GitHub与Git的区别与入门

关联好之后就可以把本地库的所有内容推送到Github上了

$ git push origin master

如果GitHub上是空的,可以使用下面这个指令

$ git push -u origin master

GitHub与Git的区别与入门

这里输入提交命令后,发现报错了,提示远程仓库里(GitHub)有文件本地没有,所以拒绝更新操作,可以看到在GitHub上吗在创建仓库的时候有勾选Initialize this repository with a README,系统自动生成了一个README.txt文件,这时需要先将该文件合并到本地版本库中,然后再执行提交到操作

$ git pull –rebase origin master

GitHub与Git的区别与入门

这样就将GitHub上的文件合并到本地版本上了,然后可以再次提交了
GitHub与Git的区别与入门

提交完成后,可以看到在GitHub上多了个readme.txt
GitHub与Git的区别与入门

**


  1. 从GitHub下载项目

**
从GitHub上下载项目,本地修改,然后提交其实和上面的步骤差不太多,就简略的写写
首先找到自己要下载的项目,但进去获取链接
GitHub与Git的区别与入门
然后进入到自己要下载项目的路径下输入指令:

$ git clone https://github.com/xiliSkiy/HelloWorld.git

这样就把源代码下载下来了,并且纳入本地的git库了
cd到自己想看的文件夹下,使用git log能看到我们的历史提交记录。要回到某一历史版本,可以使用

$ git checkout commitId

看完后要回到最新代码,使用

$ git checkout master


:你可以在代码基线上做任意修改,但为了下载新代码时不出现冲突,请遵循以下步骤:

  1. 下载新代码:git pull。

  2. 从master出捡出一个新的分支:

    $ git checkout -b feature
    feature是分支名称,可随意取名,但请用英文。

  3. 在feature分支上随意修改,改完后你可以提交你的修改:

    $ git commit -m “some message”。

  4. 此时要同步代码,请先切回主分支:

    $ git checkout master
    然后更新git pull。

  5. 如果想删除自己建立的分支,使用

    $ git branch -D feature
    注意执行此命令后分支被强制删除,无法恢复。