在 Git 中添加和删除文件

已完成

初始化本地 Git 存储库后,您可以开始处理 AL 扩展。 您创建的每个文件都需要添加到您的存储库。 为此,您需要执行一些命令。 让我们看看向存储库添加或从存储库删除文件以及在 Git 目录中提交更改的不同命令。

添加文件

要将未跟踪的文件或修改过的文件添加到 Git,您可以使用 add 命令。 这会将修改过的文件从工作目录添加到暂存区域。 通过 add 命令,您可以指定要添加文件的文件名。 星号可用于指示所有文件。

git add <filename>

git add *

在 Visual Studio Code 内,您可以通过在源代码管理窗口 (Ctrl+Shift+G) 中单击文件名旁边 + 符号来添加文件。 本操作会将您的文件放入暂存区域。 要添加所有更改过的文件,您可以单击更改部分中的 + 符号。

在暂存区域中添加文件的 + 功能的屏幕截图。

向暂存区域添加文件的结果可在 Visual Studio Code 的已暂存的更改部分中看到。 在下一个屏幕截图中,app.json、BodyType.al 和 .gitignore 文件已经暂存。 它们还分配到了状态代码 A,指示它们已添加。

Visual Studio Code 中“已暂存的更改”部分的屏幕截图。

删除暂存的文件

如果已将文件添加到暂存区域,但实际上不应将它包含在内,则可以取消暂存文件。 要取消暂存文件,您需要使用 reset 命令。

git reset HEAD <filename>

这会将文件放回工作目录并将其从暂存区域中删除。 如果您对最近添加的文件执行本操作,您的文件将再次变为未跟踪文件。

在 Visual Studio Code 中,您可以使用 - 符号取消暂存或重置

可取消暂存或重置已暂存文件的 - 功能的屏幕截图。

将暂存的文件提交到 Git 目录

文件进入暂存区域后,可以使用 commit 命令将其存储到 Git 目录中。 每次提交都将从暂存区域中获取所有文件,将它们添加到 Git 目录,并将您的用户名和电子邮件包括在提交中。

git commit

Commit 始终需要一条提交消息。 如果您使用该命令,默认编辑器将打开并允许您输入提交消息。 您还可以使用 -m 选项。

git commit -m "Your message comes here"

在 Visual Studio Code 中,您有一个可输入提交消息的 GUI。 有两个位置可以输入该消息。 您可以在已暂存的更改部分正上方的 SCM 窗格中输入它。

SCM 窗格中添加提交消息区域的屏幕截图。

如果您在单击“提交”按钮时未提供消息,Visual Studio Code 还会要求您输入消息。

提示提供消息的屏幕截图。

实际提交通过使用对号图标或 Git 命令列表中的 commit 命令来完成。 您可以通过单击三个点来打开命令列表。

提交已暂存更改只提交暂存区域中的文件。 对号图标是提交已暂存命令的快捷方式。 通常,每次提交都会在 Git 中创建一个新的提交条目。 每个提交都会生成唯一的提交字符串,该字符串唯一标识该提交。

例如:

521747298a3790fde1710f3aa2d03b55020575aa

如果您选择修正选项,则您的更改将添加到上次的提交,而不是创建新的提交。 如果您忘记了某些文件,这很有用。

git commit --amend

Visual Studio Code 中提交更改的屏幕截图。

如果未将文件添加到暂存区域,但您单击“提交”按钮,则 Visual Studio Code 将显示一条消息,指示暂存区域中没有文件,但该代码还会询问您是否要提交工作目录中的文件。 也就是说,它将绕过暂存区域。 您也可以通过在 commit 命令上使用 -a 选项来执行本操作。

git commit -a -m "Your message comes here"

执行提交后,如果您单击分支名称(在本示例中为 master),它将向您显示一个创建新分支的选项,但它还会向您显示分支正在使用的提交 ID。

分支名称中提交 ID 的屏幕截图。

建议您经常将已更改的文件添加到暂存区域,如果这些文件已就绪且稳定,则可以将其提交到 Git 目录中。 不要等到一天结束,而是尽可能频繁地提交修改。

从存储库中删除文件

如果您使用 Windows 资源管理器或在 Visual Studio Code 中从工作目录中删除文件,您的文件仍在 Git 存储库中。 使用 rm 命令可向 Git 存储库指出您要将该文件从项目中删除。 本操作将与您修改或添加的文件一起存储在您的暂存区域中。 执行提交后,您的文件删除将在 Git 存储库中完成。

git rm <filename>

系统会自动在工作目录中检测删除,并在 Visual Studio Code 中显示。 文件将获得状态代码 D,指示已将本文件从磁盘中删除。 暂存本更改以执行 rm 命令并提交可将其从 Git 目录中完全删除。

工作目录中标记为 D 的已删除文件的屏幕截图。

可能您不想从磁盘中删除您的文件,但要从 Git 中删除它。 您可以使用rm --cached 执行本操作。

git rm --cached <filename>

本操作会从暂存区域中删除您的文件,并在 Git 存储库中执行删除,但文件仍将在磁盘上。 该文件将再次变成未跟踪文件。

撤消您的更改

如果您对文件进行了一些修改,并且希望重新获取以前的版本,则可以使用 checkout 命令。 这将从 Git 目录获得已提交的版本,并将本版本放入工作目录中。

git checkout <filename>