1)前言
git的重要性应该是不言而喻的。
2)Git & GitHub 的认识
先保留一个认知:Git是为协作开发而生。
Git 是(开源)工具,GitHub是一个运行Git的平台。
在文档猴子都能懂的Git入门入门篇中介绍了在没有git进行版本控制之前,每次新的开发都需要提前进行备份。
① Git是一个免费和开源的分布式版本控制系统,因为它记录一个文件或一组文件随时间的变化,以便以后可以调用特定版本,所以能够精准的控制更改过的每一个版本,它是当前最主流的分布式版本控制系统。
② 分布式版本控制系统可以帮助使用者保存所有的修改记录,使用版本号进行区分,也是利用版本号实现精准控修改过的每一个版本。
③ 借助布式版本控制系统,我们可以随时浏览历史版本,将改错的文件还原到指定的版本,可以对比不同版本的文件差别,有恢复和保护的作用。
GitHub是主流的代码托管平台,就十分粗糙的理解为一个存放和管理代码的网盘都是可以的。
它支持咱们将自己的项目代码上传到这个代码托管平台,也可以从这个平台上下载代码到自己本地使用。
3)Git基础
3.1)Git 的安装
Tips:本篇文章,以及后续文章中的Git操作主要是使用自身下载之后的Git Bash窗口通过代码来进行操作。
倘若觉得这种操作比较吃力,可以使用的TortoiseGit的图形面界面来实现操作。
第16讲 Git TortoiseGit 使用
最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑。不过,慢慢地有人把它移植到了Windows上。现在Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行了。
要使用Git,第一步当然是安装Git了。根据你当前使用的平台来阅读下面的文字:
① 在Windows上安装Git
在Windows上使用Git,可以从Git官网直接下载安装程序,然后按默认选项安装即可。
安装完成后,在开始菜单里找到Git->Git Bash,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
安装完成后,还需要最后一步设置,在命令行输入:
$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
因为Git是分布式版本控制系统,所以,对于每个使用它的机器都必须自报家门:你的名字和Email地址。
注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
② 在Mac 上安装Git
如果你正在使用Mac做开发,有两种安装Git的方法。
法一:安装homebrew,然后通过homebrew安装Git,具体方法请参考homebrew的文档
法二(推荐):直接从AppStore安装Xcode,Xcode集成了Git。
不过默认没有安装,你需要运行Xcode,选择菜单Xcode->Preferences,在弹出窗口中找到Downloads,选择Command Line Tools,点Install就可以完成安装了。
③ 在Linux上安装Git
首先,你可以试着输入git,看看系统有没有安装Git:
$ git The program 'git' is currently not installed. You can install it by typing: sudo apt-get install git
Linux会十分友好的反馈出有没有安装Git,以及会告诉你如何安装Git。
如果你碰巧用Debian或Ubuntu Linux,通过一条sudo apt-get install git就可以直接完成Git的安装,非常简单。
如果是其他Linux版本,可以直接通过源码安装。先从Git官网下载源码,然后解压,依次输入:./config,make,sudo make install这几个命令安装就好了。
也可以参考官方文档中写的安装方式Git安装——(需要翻译一下)
3.2)Git 的工作区、暂存区、版本库理解
最重要也最需要理解的内容:
- 工作区:进行改动(增删文件和内容)
- 暂存区:在输入命令:git add 改动文件的名字之后,本次改动将会放到暂存区
- 本地仓库(可以简称为本地):在输入命名:git commit -m"此处修改的描述"之后,会将上方暂存区中放置的改动结果放到本地仓库,每一个commit,可以称为一个版本。
- 远程仓库(可以简称为远程):在输入命令:git push 远程仓库之后,放到本地仓库中的改动结果,会被放到远程仓库(github、gitee等等)
- 版本号 commit-id:在输入命令:git log之后,最上面那行commit xxxxxx,这个xxxxxx就是版本号
工作区可以理解为是自己计算机本地的创建的一个文件夹
暂存区暂存add后的本地文件,版本库存放新一个版本状态的提交文件