无论是个人开发者、大学生做课程设计,还是团队项目开发,Git 都是绕不开的基础工具,几乎所有的代码托管平台(GitHub、Gitee、GitLab)都是基于 Git 搭建的。
Git 是目前全球使用最广泛的版本控制系统,简单说,它就是帮你管理代码修改历史的工具。写代码时每一次改动、每一次版本迭代,Git 都能完整记录下来,想回到哪个版本就回到哪个版本,多人协作时也不会互相覆盖。
Git 最大的特点是免费开源和分布式架构。和传统的集中式版本控制工具不同,Git 每个开发者本地都有一份完整的代码历史,即使没有网络也能正常提交和查看记录,联网后再同步到远程仓库。它支持 Windows、macOS、Linux 三大平台,性能出色,处理大型项目也毫不吃力,因此成为全球开发者使用率最高的版本控制工具。
同领域的热门版本控制工具还有 SVN。SVN 是集中式架构,代码历史和权限管理都集中在服务器上,断网就无法提交;而 Git 采用分布式架构,本地就是完整仓库,离线也能工作,这也是 Git 能成为行业标准的核心原因。
Git 目前最新稳定版本为 2.55.0,在性能、分支管理体验和协议支持上都有持续改进,并优化了在 Windows 平台上的文件处理效率。下面我按完整流程把 Git 的下载、安装和使用一步步讲清楚。
Git下载
Git安装包下载地址:Git安装包(源自官网,放心使用)
Windows安装Git
1)下载 Git-xxx-64-bit.exe 安装包,双击启动安装程序:
2)选择安装路径,建议安装到 D 盘等非系统盘:
3)选择组件,建议保持默认选项不动:
4)点击 Next:
5)默认用 Vim 作为默认编辑器:
6)保持默认,继续点 Next:
7)务必选择中间的"Git from the command line and also from 3rd-party software",这样 Git 才能在命令行和第三方软件中直接使用,选错了会导致打开终端找不到 git 命令:
8)选择 SSH 执行文件。选项 1 是使用 Git 自带的 OpenSSH,选项 2 是使用系统上的外部 OpenSSH,保持默认项即可:
9)选择HTTPS后端传输,普通用户只是用 Git 来访问 Github、GitLab 等网站,选择前者就行:
10)换行符转换方式(Line Ending Conversions),保持默认的"Checkout Windows-style, commit Unix-style line endings"即可,不要随意更改,否则团队协作时可能出现文件差异问题。
11)保持默认,继续 Next:
12)保持默认:
13)继续 Next:
14)点击 install:
15)等待安装完成:
macOS安装Git
Git官网提供了三种安装方式:
方式一:用 Homebrew 安装,在终端运行:
$ brew install git
如果还没装Homebrew,先去brew.sh安装好再跑这条命令,后续升级也方便。
方式二:用 MacPorts 安装,如果尚未安装 MacPorts,请先安装,然后执行:
$ sudo port install git
方式三:安装 Xcode 命令行工具 (Xcode Command Line Tools)。Apple 随 Xcode 命令行工具 提供 Git 的二进制包。可以通过以下命令安装:
$ xcode-select --install
Linux安装Git
在 Linux 上安装 Git 最简单的方法是使用发行版的包管理器。以下是各主流发行版的安装命令:
| 发行版 | 安装命令 |
| Debian/Ubuntu | apt-get install git |
| Ubuntu(PPA 最新版) | add-apt-repository ppa:git-core/ppa 后执行 apt update; apt install git |
| Fedora 21 及更早 | yum install git |
| Fedora 22 及更高 | dnf install git |
| Gentoo | emerge --ask --verbose dev-vcs/git |
| Arch Linux | pacman -S git |
| openSUSE | zypper install git |
| Mageia | urpmi git |
| Nix/NixOS | nix-env -i git |
| FreeBSD | pkg install git |
| Solaris 9/10/11 (OpenCSW) | pkgutil -i git |
| Solaris 11 Express / OpenIndiana | pkg install developer/versioning/git |
| OpenBSD | pkg_add git |
| Alpine | apk add git |
装完后在终端输入 git --version 查看版本,验证安装是否成功:
Git基础使用
安装配置完成后,下面介绍 Git 最常用的几个操作,掌握这些就能应对日常大部分版本管理需求。所有命令都在 Git Bash 或系统终端中执行。
1) 配置基本信息
安装完成后第一件事建议先配置用户名和邮箱,这是使用 Git 提交代码的前提。在 Git Bash 或命令行中执行下面两条命令:
git config --global user.name "你的名字" git config --global user.email "你的邮箱"
没有这两个配置,你无法完成任何提交操作。使用了 --global 选项,表明该命令只需要运行一次,即可永久生效。
2) 创建仓库
在项目文件夹中右键打开Git Bash,输入git init,这个文件夹就变成 Git 仓库了,Git 开始跟踪里面的文件改动。如果要克隆别人的项目,用 git clone 仓库地址 把远程仓库完整复制到本地,包括所有历史记录。
3) 日常操作流程
修改文件后,先git add .把修改添加到暂存区,然后git commit -m "描述信息"创建一个版本记录。连接到远程仓库(比如GitHub)后,用git push把本地提交推送到远程,用git pull拉取远程的最新代码。
4) 查看状态
git status 可以随时查看仓库当前的状态,哪些文件改了、哪些还没提交,一目了然。这个是使用频率最高的命令。
Git常用命令汇总
为了方便你快速查阅,下面把这几个最常用的 Git 命令整理成了表格:
| 命令 | 作用 | 使用场景 |
| git init | 初始化一个新的 Git 仓库 | 新建项目时,首次启用版本管理 |
| git clone <地址> | 从远程仓库下载完整项目到本地 | 参与已有项目,或下载开源代码 |
| git add <文件> | 把文件添加到暂存区 | 提交前标记要保存的修改 |
| git commit -m "说明" | 把暂存区内容保存为一个提交 | 完成一个阶段性修改后记录版本 |
| git status | 查看工作区和暂存区的状态 | 随时检查哪些文件被改了 |
| git log | 查看提交历史记录 | 回顾项目演进过程,查找修改 |
| git push | 把本地提交推送到远程仓库 | 分享代码或提交 PR 前同步 |
| git pull | 拉取远程仓库最新代码并合并 | 每天开始工作前保持代码最新 |
| git branch | 查看、创建或删除分支 | 开发新功能或修复 Bug 时隔离代码 |
| git merge <分支> | 把指定分支合并到当前分支 | 功能开发完成后合并到主分支 |
Git新手注意事项
1)安装 Git 时默认会添加右键菜单"Git Bash Here"。在文件夹空白处右键选择"Git Bash Here",可以直接在该目录打开终端,省去手动切换目录的麻烦,建议养成这个使用习惯。
2)Git 是命令行工具,命令本身是英文,不存在传统意义上的汉化包,也不需要安装中文版。常用的命令就十几个,配合下面的基础使用部分学习,很快就能上手,完全不影响使用。
3)Git 卸载时不会删除你已经克隆下来的代码仓库,仓库文件夹删掉即可;但如果卸载前有未提交的改动,记得先提交或备份,避免丢失工作成果。