在 Git 中添加和删除文件
在 Git 中添加和删除文件
Git 是一个分布式版本控制系统,广泛应用于软件开发和团队协作中。本文将详细介绍在 Git 中添加和删除文件的基本操作,包括添加文件、删除暂存的文件、提交暂存的文件到 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,指示它们已添加。
删除暂存的文件
如果已将文件添加到暂存区域,但实际上不应将它包含在内,则可以取消暂存文件。 要取消暂存文件,您需要使用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 窗格中输入它。
如果您在单击“提交”按钮时未提供消息,Visual Studio Code 还会要求您输入消息。
实际提交通过使用对号图标或 Git 命令列表中的commit命令来完成。 您可以通过单击三个点来打开命令列表。
提交已暂存更改只提交暂存区域中的文件。 对号图标是提交已暂存命令的快捷方式。 通常,每次提交都会在 Git 中创建一个新的提交条目。 每个提交都会生成唯一的提交字符串,该字符串唯一标识该提交。
例如:
521747298a3790fde1710f3aa2d03b55020575aa
如果您选择修正选项,则您的更改将添加到上次的提交,而不是创建新的提交。 如果您忘记了某些文件,这很有用。
git commit --amend
如果未将文件添加到暂存区域,但您单击“提交”按钮,则 Visual Studio Code 将显示一条消息,指示暂存区域中没有文件,但该代码还会询问您是否要提交工作目录中的文件。 也就是说,它将绕过暂存区域。 您也可以通过在 commit 命令上使用 -a 选项来执行本操作。
git commit -a -m "Your message comes here"
执行提交后,如果您单击分支名称(在本示例中为 master),它将向您显示一个创建新分支的选项,但它还会向您显示分支正在使用的提交 ID。
建议您经常将已更改的文件添加到暂存区域,如果这些文件已就绪且稳定,则可以将其提交到 Git 目录中。 不要等到一天结束,而是尽可能频繁地提交修改。
从存储库中删除文件
如果您使用 Windows 资源管理器或在 Visual Studio Code 中从工作目录中删除文件,您的文件仍在 Git 存储库中。 使用rm命令可向 Git 存储库指出您要将该文件从项目中删除。 本操作将与您修改或添加的文件一起存储在您的暂存区域中。 执行提交后,您的文件删除将在 Git 存储库中完成。
git rm <filename>
系统会自动在工作目录中检测删除,并在 Visual Studio Code 中显示。 文件将获得状态代码D,指示已将本文件从磁盘中删除。 暂存本更改以执行rm命令并提交可将其从 Git 目录中完全删除。
可能您不想从磁盘中删除您的文件,但要从 Git 中删除它。 您可以使用rm --cached执行本操作。
git rm --cached <filename>
本操作会从暂存区域中删除您的文件,并在 Git 存储库中执行删除,但文件仍将在磁盘上。 该文件将再次变成未跟踪文件。
撤消您的更改
如果您对文件进行了一些修改,并且希望重新获取以前的版本,则可以使用checkout命令。 这将从 Git 目录获得已提交的版本,并将本版本放入工作目录中。
git checkout <filename>
本文原文来自微软官方文档