JAVA25-Git、Vue.js
1 Git历史
同生活中的许多伟大事件一样,Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众广的参与者。绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。到 2002 年,整个项目组开始启用分布式版本控制系统 BitKeeper 来管理和维护代码。
到 2005 年的时候,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了免费使用 BitKeeper 的权力。这就迫使 Linux 开源社区(特别是 Linux的缔造者 Linus Torvalds )不得不吸取教训,只有开发一套属于自己的版本控制系统才不至于重蹈覆辙。他们对新的系统订了若干目标:
• 速度
• 简单的设计
• 对非线性开发模式的强力支持(允许上千个并行开发的分支)
• 完全分布式
• 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)
1.1.GIT与SVN对比
svn:每次开发,从服务器获取版本更新,开发完再更新服务器
git:无需服务器存储版本库,各自电脑存在共享版本库,只是单人开发,本地一个仓库即可。
一般而言,并非是单人开发,所以多人开发中,本地仓库与远程仓库内容是一致的。在我们每个人电脑中,都有一个仓库,在本地进行仓库修改即可。而多人开发中,需要交换代码,就需要一个远程仓库,我们只需要将本地仓库内容向远程仓库复制一份即可
遵循的工作流程是:
1)从远程仓库中克隆 Git 资源作为本地仓库。
2)从本地仓库中checkout代码然后进行代码修改
3)在提交前先将代码提交到暂存区。
4)提交修改。提交到本地仓库。本地仓库中保存修改的各个历史版本。
5)在修改完成后,需要和团队成员共享代码时,可以将代码push到远程仓库。
1.3 git安装
一路确认安装完成后,
1)右击选择git here即可出现git gui图形界面,具体含义如下:
2)右击选择 git bush,会出现一个黑框,也就是命令行,和windows的cmd很接近。相当于在windows环境下,模拟了一个Linux环境。比方说git –version 可以看到git版本。
当然,一般我们使用Tortoise的TortoiseGit,它有中文安装包,具体安装除了选择SSH其中,其他都默认。现在我们开始学习使用它吧。
2.使用git管理文件版本
2.1.创建一个Repository仓库
有三种方式创建仓库:1是git gui;2是git bush 命令行,3是乌龟Tortoisegit,三种可以创建git隐藏文件夹。
1)是git gui如下
首先在电脑上创建一个repositorys文件夹,里面假设建立一个repo1的文件夹,右击选择
选择create将出现如下情况:当然这个界面不用管。
2)git Bush命令行:输入 git init 将会初始化一个git隐藏文件
3)使用乌龟tortoisegit,选择 创建本地库
2.2.向本地库添加文件
刚刚在repositorys创建的repo1的git隐藏文件,两个文件的含义是:
- 1)repo1就是工作目录
- 2)git隐藏文件就是版本库
切记,如果向版本库(也就是git)添加文件,那么这个库必须是在repo1文件夹下才行。
提交文件:在hello.txt上再次点击右键选择“提交”,此时将文件保存至版本库中。
随后出现下图:
整个过程将是hello由加号变成一个√的变化。
2.3.工作区与暂存区概念学习
Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念。
工作区就是你在电脑里能看到的目录,比如我的reporstory文件夹就是一个工作区,在这个目录中的“.git”隐藏文件夹才是版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
如下图所示:
分支和HEAD的概念我们稍后再学。前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。