Git 使用指南

Git 是一个免费的、开源的分布式版本控制系统,旨在快速高效地处理从小到大的所有项目。无论您是个人开发者还是大型团队的一员,Git,都能帮助您跟踪代码的更改、协作开发以及轻松回滚到之前的版本。

本文将详细介绍 Git 的基本功能和常用高级功能的使用方法,包括功能说明、代码块和示例。

基本功能

初始化仓库

在开始使用 Git 跟踪项目之前,您需要在项目根目录中初始化一个 Git 仓库。

1
git init

这会在当前目录下创建一个名为 .git 的隐藏文件夹,其中包含 Git 仓库的所有必要文件。

添加文件到暂存区

在对文件进行修改后,您需要将这些修改添加到暂存区,以便在下一次提交时包含这些更改。

1
git add <文件名>

或者,要添加所有修改过的文件:

1
git add .

提交更改

暂存区中的更改可以通过提交操作保存到 Git 仓库中。每次提交都会创建一个新的版本,您可以随时回溯到这个版本。

1
git commit -m "提交信息"

提交信息应该清晰地描述本次提交所做的更改。

查看状态

随时查看工作区和暂存区的状态是一个好习惯,这可以帮助您了解哪些文件已被修改、哪些已暂存以及哪些未被跟踪。

1
git status

查看提交历史

要查看项目的提交历史,可以使用 git log 命令。

1
git log

这将显示所有提交的详细信息,包括提交者、日期、提交信息和提交的哈希值。

分支管理

分支是 Git 中一个非常强大的功能,它允许您在不影响主线开发的情况下进行实验和开发新功能。

创建新分支:

1
git branch <分支名>

切换到分支:

1
git checkout <分支名>

或者使用更现代的命令:

1
git switch <分支名>

创建并切换到新分支:

1
git checkout -b <新分支名>

或者使用更现代的命令:

1
git switch -c <新分支名>

查看所有分支:

1
git branch

合并分支

当您在一个分支上完成了开发,可以将它合并到另一个分支(通常是主分支)。

首先切换到目标分支:

1
git switch <目标分支名>

然后执行合并:

1
git merge <要合并的分支名>

远程仓库操作

Git 允许您与远程仓库进行交互,以便与他人协作或备份您的代码。

克隆远程仓库:

1
git clone <远程仓库地址>

添加远程仓库:

1
git remote add origin <远程仓库地址>

查看远程仓库:

1
git remote -v

从远程仓库获取最新更改(不合并):

1
git fetch

从远程仓库拉取最新更改(获取并合并):

1
git pull

将本地更改推送到远程仓库:

1
2
3
4
5
6
7
8
9
10
git push origin <分支名>

## 常用高级功能

### 重写提交历史

`git rebase` 命令用于将一个分支的更改应用到另一个分支上,通常用于将特性分支的更改合并到主分支,使提交历史更加线性整洁。

```bash
git rebase &lt;目标分支&gt;

示例: 将当前分支的更改 rebase 到 main 分支上。

1
git rebase main

暂存更改

当您正在进行一项任务,但需要切换到另一个任务时,可以使用 git stash 命令将当前工作区的更改暂存起来,以便稍后恢复。

暂存当前更改:

1
git stash save "暂存信息"

查看暂存列表:

1
git stash list

应用最近的暂存:

1
git stash apply

应用指定的暂存:

1
git stash apply stash@{n}

移除最近的暂存:

1
git stash drop

移除并应用最近的暂存:

1
git stash pop

挑选提交

git cherry-pick 命令用于将一个或多个提交从一个分支应用到另一个分支。这在您只需要某个分支上的特定提交而不是整个分支时非常有用。

1
git cherry-pick &lt;提交哈希值&gt;

示例: 将提交 a1b2c3d4 应用到当前分支。

1
git cherry-pick a1b2c3d4

撤销更改

有时您可能需要撤销之前的更改。Git 提供了几种撤销更改的方法。

撤销工作区的修改:

1
git restore &lt;文件名&gt;

撤销暂存区的修改:

1
git restore --staged &lt;文件名&gt;

回退到之前的提交(会删除后续提交):

1
git reset --hard &lt;提交哈希值&gt;

撤销某次提交的更改,并生成一个新的提交:

1
git revert &lt;提交哈希值&gt;

总结

Git 是现代软件开发中不可或缺的工具。掌握 Git 的基本和高级功能,可以显著提高您的开发效率和团队协作能力。通过本文的介绍,希望您对 Git 的使用有了更深入的了解。不断实践和探索,您将能更充分地利用 Git 的强大功能。