Git 核心操作
掌握了 Git 的基础概念和工作流程后,我们来学习一些最常用、最核心的操作命令。获取 Git 仓库
有两种主要方式开始使用 Git 进行项目管理:-
在现有项目目录中初始化新仓库 (
git init): 如果你有一个尚未进行版本控制的项目,可以进入项目根目录,然后执行:这会在当前目录下创建一个名为.git的隐藏子目录,它包含了仓库的所有必需文件(元数据和对象数据库)。这时你的项目就开始被 Git 管理了,但还没有任何文件被跟踪。 -
克隆现有远程仓库 (
git clone): 如果你想获取一个已经存在的 Git 仓库副本(例如,托管在 GitHub、GitLab 或 Gitee 上的项目),可以使用git clone命令:这不仅会下载项目的所有文件和完整的历史记录到my-git-project目录(如果未指定目录名,则默认为仓库名),还会自动设置好与远程仓库的连接(通常命名为origin),方便后续的推送和拉取操作。
- 使用
git init开始一个全新的项目,或者将一个现有但未版本控制的项目纳入 Git 管理。 - 使用
git clone获取一个已存在的远程项目的本地副本以进行工作或贡献。
检查状态 (git status)
git status 命令是你最常用的命令之一,它能告诉你当前工作目录和暂存区的状态。
- 当前所在的分支。
- Changes to be committed: 哪些文件已被修改并暂存(在 Staging Area 中),等待下次提交。
- Changes not staged for commit: 哪些已跟踪的文件在工作目录中被修改,但尚未暂存。
- Untracked files: 工作目录中哪些新文件是 Git 尚未开始跟踪的。
Git 文件生命周期:从未跟踪到已跟踪,从工作目录到暂存区再到仓库
跟踪与暂存 (git add)
git add 命令用于将工作目录中的更改(新文件或已修改文件)添加到暂存区,准备进行下一次提交。
- 暂存单个文件:
- 暂存多个文件:
- 暂存当前目录下所有变化 (包括新文件、修改和删除):
(注意:
.代表当前目录及其子目录) - 交互式暂存 (
-p): 对于一个文件中的多处修改,如果你只想暂存其中一部分,可以使用-p或--patch选项,Git 会逐块展示差异,让你决定是否暂存该块。
git add 是一个多功能命令:可以用它开始跟踪新文件,或者把已修改或已删除的文件暂存起来准备提交。
查看更改 (git diff)
在暂存或提交之前,查看具体的修改内容非常重要。
- 查看工作目录相对于暂存区的差异 (
git diff): 显示已修改但未暂存的文件内容变化。 - 查看暂存区相对于上次提交的差异 (
git diff --staged或git diff --cached): 显示已暂存但未提交的文件内容变化。这是你在执行git commit前最后检查修改内容的机会。
Git 的三大区域:工作目录、暂存区和 Git 仓库,以及文件在其中的流转
提交更改 (git commit)
当你觉得暂存区的内容已经是一个完整的、逻辑一致的改动集合时,就可以使用 git commit 将这个快照永久记录到 Git 仓库的历史中。
- 跳过暂存区直接提交 (
-a): 如果你想提交所有已跟踪文件的修改(注意:不包括未跟踪的新文件),可以合并add和commit步骤:(-u选项告诉git add只更新已跟踪的文件)
查看提交历史 (git log)
git log 命令用于按时间倒序列出仓库中的提交记录。
git log 有极其丰富的选项来自定义输出:
- 简化输出:
- 图形化显示分支历史:

- 按条件筛选:
- 查看每次提交的详细差异 (
-p):
移除文件 (git rm)
要从 Git 中彻底移除某个文件(同时从工作目录和版本历史中),需要先从暂存区移除,然后提交。
--cached 选项:
移动或重命名文件 (git mv)
要在 Git 中移动或重命名文件,推荐使用 git mv 命令。
mv <旧> <新>(在文件系统层面移动/重命名)git rm <旧>(暂存旧文件的删除)git add <新>(暂存新文件的添加)
忽略文件 (.gitignore)
通常有些文件我们不希望 Git 进行跟踪和版本控制,例如:
- 编译产生的文件(如
.class,.o,.exe) - 日志文件 (
.log) - 临时的编辑器文件(如
*~,.swp) - 依赖包目录(如
node_modules/,vendor/) - 包含敏感信息的配置文件
.gitignore 的文本文件,列出要忽略的文件或目录模式。
示例 .gitignore 文件:
.gitignore 文件中列出的匹配项。强烈建议在项目初期就创建并维护好 .gitignore 文件,并将其添加到版本控制中 (git add .gitignore 然后 git commit)。
这些是 Git 最基本、最常用的核心操作。熟练掌握它们是高效使用 Git 进行版本控制的基础。