Git 简介以及与GitHub使用

274 阅读4分钟

1.版本控制的原因

  • 备份多个版本,浪费存储空间,花费时间长。
  • 难以恢复至以前的历史版本,容易引发BUG,解决代码冲突困难。
  • 难于追溯问题代码的修改人和修改时间、修改内容、日志信息。
  • 项目升级,版本发布困难。
  • 无法进行权限控制。 比如 测试人员:只读;开发人员:模块权限。
  • 开发团队在工作过程中无法多条生产线同时推进任务,效率慢。

2.版本控制分类

版本控制分为集中式管理和分布管理.
集中式版本控制工具: SVN、VSS、CVS
分布式版本控制工具: Git、Mercurial、Bazaar

SVN简介及工作流程

SVN 属于集中式版本管理控制系统,服务器中保存了所有文件的不同版本,而协同工作人员通过连接svn服务器,提取出最新的文件,获取提交更新。

交互流程图

Git与Svn记录具体差异

  • Git 和其他版本控制系统的主要差别在于,Git 只关心文件的整体是否发生变化。而SVN这类版本控制系统则只关心文件内容的具体差异。

  • SVN这类系统每次记录有哪些文件作了更新,以及都更新了哪些行的什么内容。然而 Git 并不保存这些前后变化的差异数据。

  • 实际上,Git更像是把 变化的文件 作一个快照后,记录在一个微型的文件系统中。每次提交更新时,它会纵览一遍所有文件的指纹信息(Hash值)并对文件作一快照,然后保存一个指向这次快照的索引。为提高性能,若文件没有变化,Git 不会再次保存,而只对上次保存的快照作一链接。

3.Git下载安装

官网:git-scm.com/

软件下载地址:git-scm.com/downloads

4.git本地工作区域

对于任何一个文件,在 Git 内都只有三种区域:工作区,暂存区和本地仓库。

  • 工作区:表示新增或修改了某个文件,但还没有提交保存;
  • 暂存区:表示把已新增或修改的文件,放在下次提交时要保存的清单中;
  • 本地仓库:文件已经被安全地保存在本地仓库中了。

5.Git与GitHub

  • Git:是一个版本管理工具 , 只在本地使用的一个版本管理工具,其作用就是可以让你更好的管理你的程序,
  • GitHub:是一个基于Git的远程代码托管平台(网站),可以在github上建立一个远程库,可以将本地库的代码提交到远程库,这样你的每次提交,别人也都可以看到你的代码,同时别人也可以帮你修改你的代码,这种开源的方式非常方便程序员之间的交流和习。

GitHub (官网: github.com/)

6.本地库与远程库

团队内部协作开发

远程跨团队协作开发

7.Git 命令行操作

1.打开命令行窗口

安装Git后,在资源管理器的空白处,单击鼠标右键打开窗口,点击 Git Bash Here

2.初始化Git本地库

命令: git init

.git 目录仓库目录说明:

  • hooks目录:脚本文件的目录。

  • info目录:保存了不希望在 .gitignore 文件中管理的忽略模式的全局可执行文件

  • logs目录:日志目录

  • objects目录:存储所有数据内容

  • refs目录:存储指向数据(分支)的提交对象的指针

  • config文件包含了项目特有的配置选项

  • description文件仅供 GitWeb 程序使用

  • HEAD文件指向当前分支

8.将本地仓库代码储存到远程仓库

  1. 登录GitHub官网
  2. 先创建一个远程仓库
  3. 在桌面右击,点击 git bash here 打开命令行工具
  4. 在命令行工具中输入 :

git clone 仓库地址

  1. 远程仓库就会克隆到本地
  2. 把要上传的项目放入从远程仓库中克隆出来的本地仓库中
  3. 在命令行中输入命令存储到暂存区中 :(提交所有文件/提交单个文件)

git add .

git add '单个文件名称'

  1. 在命令行中输入命令将暂存区中的代码放到本地仓库中

git commit -m '本次提交的描述'

  1. 将本地仓库的数据推送到远程仓库中

git push