1.git入门
1.1git是什么?
简单地说,Git 究竟是怎样的一个系统呢? 请注意接下来的内容非常重要,若你理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余。 在学习 Git 时,请尽量理清你对其它版本管理系统已有的认识,如 CVS、Subversion 或 Perforce, 这样能帮助你使用工具时避免发生混淆。尽管 Git 用起来与其它的版本控制系统非常相似, 但它在对信息的存储和认知方式上却有很大差异,理解这些差异将有助于避免使用中的困惑。
简单举个例子来说,甲方让我写个方案,我写了一版不满意,一版又不满意…最后决定要之前的某一版,更崩溃的是每个版本里再有小的细节改动又怕还需要现在的版本,另存为另存为…,内心OS:什么鬼???
这么多版要哪个???乱七八糟的想删又不敢!!!
过一段时间想找被删除的内容,早就记不清保存在哪个文件里了,只好一个个找,真麻烦!更要命的是这个方案不是我一个完成,还需要同事一起来搞,在我把文件拷给同事之后,我不能光等待不干活,自己也得改,然后同事又把他改完的文件发给我,我必须要知道这期间我做了哪些改动,得把他改动的部分和我改动的部分合并,嗯,这个对比工作很酸爽。
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。( 先不用管它怎么实现!! )
这里如果使用git版本控制系统的效果如下:
版本 | 文件名 | 用户 | 说明 | 日期 |
---|---|---|---|---|
1 | readme.docx | 张三 | 软件开发方案 | 1 |
2 | readme - 副本.docx | 张三 | 增加了管理员用户权限 | 2 |
3 | readme - 副本 (2).docx | 李四 | 减少了用户的部分模块功能 | 3 |
4 | readme - 副本 (3).docx | 张三 | 更改了数据库设计方案 | 4 |
1.2git简史
同生活中的许多伟大事物一样,Git 诞生于一个极富纷争大举创新的年代。
Linux 内核开源项目有着为数众多的参与者。 绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。 到 2002 年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。
到了 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了 Linux 内核社区免费使用 BitKeeper 的权力。 这就迫使 Linux 开源社区(特别是 Linux 的缔造者 Linus Torvalds)基于使用 BitKeeper 时的经验教训,开发出自己的版本系统。 他们对新的系统制订了若干目标:
- 速度
- 简单的设计
- 对非线性开发模式的强力支持(允许成千上万个并行开发的分支)
- 完全分布式
- 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)
自诞生于 2005 年以来,Git 日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标。 它的速度飞快,极其适合管理大项目,有着令人难以置信的非线性分支管理系统。
1.3下载安装(Windows版本、Linux版本)
1.3.1Windows版本
git官网下载地址:(国内打不开或下载速度慢等情况请使用国内镜像地址)
https://git-scm.com/download
国内镜像地址:
https://npm.taobao.org/mirrors/git-for-windows/
安装过程不用设置,默认下一步下一步就行。
检查安装版本,命令行下输入git -v
1.3.2Linux版本
本人用的ubuntu
搜索terminal打开命令行窗口
输入命令 sudo apt install git-all后回车
安装完成后在命令行模式中输入git --version检查是否安装完成。
1.4安装后第一步:初次运行git前的配置
1.4.1初次运行 Git 前的配置
既然已经在系统上安装了 Git,你会想要做几件事来定制你的 Git 环境。 每台计算机上只需要配置一次,程序升级时会保留配置信息。 你可以在任何时候再次通过运行命令来修改它们。
Git 自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量。 这些变量存储在三个不同的位置:
-
/etc/gitconfig文件:包含系统上的每一个用户以及他们仓库的通用配置。 如果在执行 git config 时带上 --system 选项,那么它就会读写该文件中的配置变量。 (由于它是系统配置文件,因此你需要管理员或超级用户权限来修改它。)
-
~/.gitconfig 或 ~/.config/git/config 文件:只针对当前用户。 你可以传递 --global 选项让 Git 读写此文件,这会对你系统上 所有 的仓库生效。
路径如下:
-
当前使用仓库的 Git 目录中的 config 文件(即 .git/config):针对该仓库。 你可以传递 --local 选项让 Git 强制读写此文件,虽然默认情况下用的就是它。。 (当然,你需要进入某个 Git 仓库中才能让该选项生效。)
每一个级别会覆盖上一级别的配置,所以 .git/config 的配置变量会覆盖 /etc/gitconfig 中的配置变量。
在 Windows 系统中,Git 会查找 $HOME 目录下(一般情况下是 C:\Users$USER )的 .gitconfig 文件。 Git 同样也会寻找 /etc/gitconfig 文件,但只限于 MSys 的根目录下,即安装 Git 时所选的目标位置。
你可以通过以下命令查看所有的配置以及它们所在的文件:
git config --list --show-origin
设置用户信息
安装完 Git 之后,要做的第一件事就是设置你的用户名和邮件地址。 这一点很重要,因为每一个 Git 提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改:
git config --global user.name "OSRookie"
git config --global user.email xxxxxx@example.com
再次强调,如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息。 当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 --global 选项的命令来配置。
也可以在文件中直接修改。
检查配置信息
如果想要检查你的配置,可以使用 git config --list 命令来列出所有 Git 当时能找到的配置。
git config --list
你可能会看到重复的变量名,因为 Git 会从不同的文件中读取同一个配置(例如:/etc/gitconfig 与 ~/.gitconfig)。 这种情况下,Git 会使用它找到的每一个变量的最后一个配置。
你可以通过输入 git config : 来检查 Git 的某一项配置
git config user.name
由于 Git 会从多个文件中读取同一配置变量的不同值,因此你可能会在其中看到意料之外的值而不知道为什么。 此时,你可以查询 Git 中该变量的 原始 值,它会告诉你哪一个配置文件最后设置了该值:
git config --show-origin rerere.autoUpdate
命令行帮助获取
git help <verb>
git <verb> --help
为可选项,例如想要获得config命令的手册,执行代码如下:
git help config
这个命令会打开一个不需要联网的手册。
如果不需要全面的手册,只需要可用选项的快速参考,那么可以用-h选项获得更简单的"help"输出:
git config -h
2.Git 基础 - 获取 Git 仓库
先讲一下关于git的几个基本知识,
一天一节,未完待续…