Git基本操作

在完成了 Git 的安装与配置后,我们就可以开始实际操作了。本章将介绍 Git 工作流中最基础、最高频使用的命令,帮助你迈出版本控制的第一步。 无论是新建项目还是管理现有代码,这四个操作构成了 Git 使用的核心循环:初始化 -> 添加 -> 提交 -> 检查。

1. 初始化仓库

要使用 Git 管理一个项目,首先需要创建一个 Git 仓库。仓库可以理解为一个被 Git 监控的目录,Git 会记录该目录下所有文件的变更历史。 你可以通过两种方式获取一个 Git 仓库:

方式一:在现有目录中初始化

如果你已经有一个项目目录,只需进入该目录并执行初始化命令。

  1. 打开终端或命令行,进入项目目录:
cd /path/to/your/project
  1. 执行初始化命令:
git init
  1. 执行后,目录下会生成一个名为 .git 的隐藏子目录。这个目录就是 Git 的“版本库”,存放了所有的版本控制信息。

注意:此时项目中的文件尚未被跟踪,仅仅是在本地创建了一个空的仓库框架。

方式二:克隆现有仓库

如果你想参与已有的开源项目,或者从远程服务器同步代码,可以使用克隆命令:

git clone <url>

例如,克隆某个项目:

git clone https://git.db-w.cn/user/repo.git

这会在当前目录下创建一个名为 "repo" 的文件夹,并自动初始化仓库,拉取所有数据。

2. 添加文件

在 Git 中,文件的修改不会自动进入版本控制,必须通过 git add 命令将文件的修改放入暂存区。这是 Git“两步提交”流程的第一步。

假设我们在项目目录下新建了一个 README.md 文件。

跟踪新文件

使用 git add 命令开始跟踪该文件:

git add README.md

执行后,README.md 文件的状态变为“已暂存”,准备被提交。

常用技巧

添加所有变更:如果你想添加当前目录下所有新建或修改的文件,可以使用通配符 .:

git add .

添加特定扩展名:

git add *.js

提示:git add 是一个多功能命令,既用于跟踪新文件,也用于将已跟踪文件的修改放入暂存区。

3. 提交变更

文件被添加到暂存区后,还需要通过 git commit 命令将其永久记录在 Git 的历史快照中。这是“两步提交”的第二步。

基本提交

执行以下命令将暂存区的内容提交到仓库:

git commit -m "本次提交的说明信息"

引号内的内容是提交说明,应当简明扼要地描述这次改动做了什么。

示例:

git commit -m "初始化项目,添加README文件"

跳过暂存区直接提交

对于已经跟踪过的文件,如果想跳过 git add 步骤直接提交,可以使用 -a 参数:

git commit -am "修改了配置文件"

注意:-a 参数只会自动暂存已跟踪文件的修改,新建的未跟踪文件必须先使用 git add 添加。

查看状态

在操作过程中,我们经常需要知道“当前工作区是否干净?”、“哪些文件被修改了?”。git status 是 Git 中最常用的命令,用于查看当前仓库的状态。

详细状态查看

直接输入命令:

git status

输出结果通常包含以下几类信息:

  1. On branch master:显示当前所在的分支。
  2. Changes to be committed(已暂存):显示已通过 git add 添加,等待提交的文件(通常显示为绿色)。
  3. Changes not staged for commit(未暂存):显示文件内容发生了变化,但还没有执行 git add 的文件(通常显示为红色)。
  4. Untracked files(未跟踪):显示 Git 发现的新文件,Git 不知道要管理它们。

简洁状态查看

如果你觉得输出信息太多,可以使用 -s 参数查看简要版本:

git status -s

输出示例:

M  README.md    # 修改已暂存
 MM index.html  # 修改已暂存,但工作区又有新修改
?? LICENSE      # 未跟踪文件
  • M (Modified):修改
  • A (Added):新添加
  • ??:未跟踪