Git与GitHub的简单介绍

162 阅读4分钟

Tip:个人理解,有错误请指出


Directory

  1. What is Git

  2. What is Git

  3. The relationship between Git and Github


What is Git?

图片不见了

intro

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。其实其类似于电脑上的cmd命令行,可以输入命令来完成功能。 在此就会提到中央式和分布式版本控制系统的区别。 先简要提提版本控制系统吧!

版本控制系统有三个核心要素:版本控制主动提交中央仓库

  • 版本控制就是在文件中保留修改历史,类似于电脑的撤销Ctrl+z功能,就是你可以在版本控制系统中找到你以前的代码版本,系统会有保存。
  • 主动提交即在版本控制系统中用commit命令把改动信息提交,这次改动就会被记录到版本历史中。
  • 中央仓库用于存储代码,供他人上传和下载

再简要提一下中央式版本控制系统

中央式版本控制系统有一个中央仓库,其他成员可以将自己写的代码提交到这个中央仓库,也可以从这个中央仓库中获取代码,这样就可以几个人一起开发一个软件,但实际开发工作并没有这么简单,会涉及到代码冲突等等。

那分布式版本系统和中央式有什么区别呢?

分布式比中央式多了一个本地仓库,就是每个用户都有自己的本地仓库。可以将中央仓库的代码clone到本地仓库上,这样就无需联网,也可以提交代码、查看历史

The role of the Git

其实Git的作用在前文中有提到,这里再重述一遍

  1. 建立本地仓库

用git init来初始化一个Git仓库

  1. 克隆中央仓库

用git clone命令来将中央仓库的内容下载到自己的本地仓库中

  1. 提交本地仓库代码

使用git push来提交本地仓库的代码

  1. 同步中央仓库代码

用git pull来同步中央仓库代码到本地仓库

The necessity of Git

相比于中央式版本控制系统,Git拥有本地仓库,无需联网,极大减小了开发者网络条件和物理位置的限制。


What is GitHub?

图片不见了 GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。相对于Git来说,GitHub就是一个中央仓库,这么理解就好了。

The relationship between Git and GitHub

最重要的还是Git和GitHub之间的关系,前面说到,GitHub是一个中央仓库,而Git是一个分布式版本控制系统,那么他们怎么联系呢?

  1. 先在Git选定一个目录作为项目目录,具体操作为“cd +目录地址”
  2. 输入git clone +复制的中央仓库地址,即可以将GitHub的内容clone到本地
  3. 使用git status来查看工作目录当前状态
  4. 其中有Untracked files状态,即未跟踪文件,使用git add +文件名来跟踪文件
  5. 这个add后面的文件,就会进入暂存区staging area,这时就可以用git commit命令来提交,其中填写提交信息的详细步骤这里不再介绍
  6. 这样就完成了向本地仓库的1次提交,可以使用git log来查看提交历史
  7. 再来,就用git push把本地仓库的内容提交到GitHub上,这就有了Git和GitHub的关联
  8. 用git pull来把中央仓库的内容同步到本地仓库

注意: push是用本地仓库的内容覆盖中央仓库的内容,而假如中央仓库拥有本地仓库没有的内容的话,这时候就会push失败,所以,你这时要先用pull来同步中央仓库内容(这时的pull可以将中央仓库内容和本地仓库内容合并),再用push,就可以成功了。