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,英语阅读能力还是很重要啊
Git使用:
1.账户也注册好了,打开终端terminal,输入
$ cd ~/.ssh
因为是第一次,这时会出现No such file or directory,我们只要建立**就好,输入如下指令
$ ssh-****** -t rsa -C “你的邮箱github”
一路回车,一个是修改密码,不过密码大于4位,否则要重新来过,该密码是在你提交项目的时候需要输入的密码,不设即为空;默认是保存在users/ 下面,到时会出现信息的,下面是一张实际操作的图(该图是百度上拿来的)
输入: more ~/.ssh/id_rsa.pub
就可以看到自己的ssh-rsa**,打开自己的github账户,点击右上角的setting,输入**;
然后就可以使用git来与GitHub建立连接了。
**
- 建立本地仓库(repository):
**
这里我们就来创建一个HelloWorld的本地版本库,
首先创建一个HelloWorld的文件夹
$ mkdir HelloWorld
进入文件夹
$ cd HelloWorld
输入初始化指令:
$ git init
初始化Git仓库。此时用ls -a查看当前目录,可以看到多了一个.git/的文件夹,此文件夹保存了版本控制的所有相关信息
这样一个本地版本库就创建好了
下面来创建一个文件,提交到本地版本库中
输入如下指令,创建一个简单的readme.txt 文件:
$ echo “This is a test file.” > readme.txt
输入:
$ git status
输入指令后,可以看到readme.txt在Untracked files(无印记的文件)下面呈现红色,表示该文件没有纳入到git管控
使用如下指令,将该文件加入缓冲区(注:这里的文件是指那些未被纳入git管控的文件或者是有修改的文件)
加入单个文件:
$ git add readme.txt加入当前目录所有的文件
$ git add .
加入后现在用 git status 查看,将看到文件名变为绿色。表示已经加入到缓冲区中了
加入到缓冲区后,就可以进行提交操作了,将文件提交到版本中
$ git commit -m “The file commit via git”
-m后面的是提交时候的提交说明,用来标识提交内容的,方便后续查询,该部分作为一个合格的开发人员是必写的
提交之后,可以使用git log查看提交的信息记录,上面会有提交者的ID,提交日起等信息,这样一个本地版本库就创建完成了。
**
2. 将本地版本库提交到GitHub上面
**
首先需要在GitHub上创建一个版本库,在主页上点击new repository,创建一个HelloWorld的库
在Github上创建好Git仓库之后,就可以进行和本地仓库的关联操作了,在本地的Git仓库中输入指令:
$ git remote add origin https://github.com/xiliSkiy/HelloWorld
origin后面的那串地址其实就是你GitHub上HelloWorld仓库的地址,可以直接在地址栏获取
关联好之后就可以把本地库的所有内容推送到Github上了
$ git push origin master
如果GitHub上是空的,可以使用下面这个指令
$ git push -u origin master
这里输入提交命令后,发现报错了,提示远程仓库里(GitHub)有文件本地没有,所以拒绝更新操作,可以看到在GitHub上吗在创建仓库的时候有勾选Initialize this repository with a README,系统自动生成了一个README.txt文件,这时需要先将该文件合并到本地版本库中,然后再执行提交到操作
$ git pull –rebase origin master
这样就将GitHub上的文件合并到本地版本上了,然后可以再次提交了
提交完成后,可以看到在GitHub上多了个readme.txt
**
- 从GitHub下载项目
**
从GitHub上下载项目,本地修改,然后提交其实和上面的步骤差不太多,就简略的写写
首先找到自己要下载的项目,但进去获取链接
然后进入到自己要下载项目的路径下输入指令:
$ git clone https://github.com/xiliSkiy/HelloWorld.git
这样就把源代码下载下来了,并且纳入本地的git库了
cd到自己想看的文件夹下,使用git log能看到我们的历史提交记录。要回到某一历史版本,可以使用
$ git checkout commitId
看完后要回到最新代码,使用
$ git checkout master
注:你可以在代码基线上做任意修改,但为了下载新代码时不出现冲突,请遵循以下步骤:
下载新代码:git pull。
-
从master出捡出一个新的分支:
$ git checkout -b feature
feature是分支名称,可随意取名,但请用英文。 -
在feature分支上随意修改,改完后你可以提交你的修改:
$ git commit -m “some message”。
-
此时要同步代码,请先切回主分支:
$ git checkout master
然后更新git pull。 -
如果想删除自己建立的分支,使用
$ git branch -D feature
注意执行此命令后分支被强制删除,无法恢复。