一、介绍
1.1、Git 工具是什么
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。它与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
1.2、Git 与 SVN 区别
SVN(Apache Subversion),是一个开放源代码的版本控制系统,采用了分支管理系统,在2000年被 CollabNet Inc 开发。
- Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。
- Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。
- Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。
- Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。
- Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
1.3、Git 工具中的相关概念名词
- 本地仓库:就是在开发人员自己电脑上的Git仓库。
- 远程仓库:指在远程服务器上的Git仓库。
- Clone:克隆,就是将远程仓库复制到本地。
- Push:推送,就是将本地仓库代码上传到远程仓库。
- Pull:拉取,就是将远程仓库代码下载到本地仓库。
- 工作区:就是你在电脑里能看到的目录。
- 暂存区:英文叫 stage 或 index。一般存放在
.git
目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。 - 版本库:工作区有一个隐藏目录
.git
,这个不算工作区,而是 Git 的版本库。
1.4、Git 工作流程
一般工作流程如下:
- 克隆 Git 资源作为工作目录。
- 在克隆的资源上添加或修改文件。
- 如果其他人修改了,你可以更新资源。
- 在提交前查看修改。
- 提交修改。
- 在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。
二、Git 工具的使用
2.1、安装 Git 工具
在使用Git前我们需要先安装 Git。Git 目前支持 Linux/Unix、Solaris、Mac和 Windows 平台上运行。
Git 各平台安装包下载地址为:http://git-scm.com/downloads
下面介绍在 Windows 平台上安装 Git ,其他平台安装事项可以参考网址:https://www.runoob.com/git/git-install-setup.html 。
- 在网址(http://git-scm.com/downloads)选择 Windows 版本,下载得到一个后缀 .exe 的文件;
- 双击该文件即可安装并运行;
- 右击鼠标出现如下图所示则表明安装成功。
2.2、环境配置
当安装 Git 后首先要做的事情是设置用户名称和 email 地址。这是非常重要的,因为每次 Git 提交都会使用该用户信息。
配置个人的用户名称和电子邮件地址息 :
git config --global user.name "runoob"
git config --global user.email [email protected]
如果用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。
如果要在某个特定的项目中使用其他名字或者电邮,只要去掉 --global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。
检查已有的配置信息:
git config --list
git config user.name # 直接查阅某个环境变量的设定
三、常用的 Git 代码托管服务
Git 有两种类型的仓库:本地仓库和远程仓库。
那么如何搭建 Git 远程仓库呢?我们可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有 GitHub、码云、GitLab 等。
- GitHub:地址 https://github.com/ ,是一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯一的版本库格式进行托管,故名GitHub。
- 码云:地址 https://gitee.com/ ,是国内的一个代码托管平台,由于服务器在国内,所以相比于 GitHub,码云速度会更快。
- GitLab:地址 https://about.gitlab.com/ ,是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务。
四、Git 基本操作
Git 的工作就是创建和保存你项目的快照及与之后的快照进行对比。
Git 常用的是以下 6 个命令:git clone、git push、git add 、git commit、git checkout、git pull 。
(workspace:工作区。staging area:暂存区/缓存区。local repository:版本库或本地仓库。remote repository:远程仓库)
4.1、创建仓库
git 创建仓库的命令 | 说明 |
---|---|
git init | 初始化仓库。 |
git clone | 从远程仓库进行克隆,将远程仓库克隆到本地。 |
4.2、提交与修改项目
创建与提交项目的快照的命令 | 说明 |
---|---|
git add | 添加文件到暂存区。 |
git status | 查看仓库当前的状态,显示有变更的文件。 |
git diff | 比较文件的不同,即暂存区和工作区的差异。 |
git commit | 将暂存区内容添加到仓库中。 |
git reset | 回退版本。 |
git rm | 删除工作区文件。 |
git mv | 移动或重命名工作区文件。 |
提交日志的命令 | 说明 |
---|---|
git log | 查看历史提交记录。 |
git blame | 以列表形式查看指定文件的历史修改记录。 |
远程操作的命令 | 说明 |
---|---|
git remote | 远程仓库操作 |
git fetch | 从远程获取代码库 |
git pull | 下载远程代码并合并 |
git push | 上传远程代码并合并 |
五、Git 分支管理
创建分支命令:git branch (branchname)
切换分支命令:git checkout (branchname)
合并分支命令:git merge
删除分支命令:git branch -d (branchname)
列出所有本地分支:git branch
列出所有远程分支:git branch -r
列出所有本地分支和远程分支:git branch -a
六、在 IDEA 中配置 Git
安装好 IntelliJ IDEA 后,如果 Git 安装在默认路径下,那么 IDEA 会自动找到 Git 的位置,如果更改了 Git 的安装位置则需要手动配置下Git的路径。
选择 File → Settings ,打开设置窗口,找到 Version Control 下的 Git 选项,选择 Git 的安装目录后可以点击 “Test” 按钮测试是否正确配置,如下图: