📌  相关文章
📜  git add 错过最后一次提交 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:00:55.084000             🧑  作者: Mango

Git Add 错过最后一次提交 - Shell-Bash

在使用 Git 进行代码管理时,常常会遇到漏掉某些文件或文件夹没有被提交的问题。尤其是在初学者使用 Git 的时候,这种情况是很常见的。本文将介绍如何添加漏掉的文件到最新一次提交中。

Git Add 基本操作

在开始之前,首先介绍一下 Git Add 的基本操作。Git Add 命令用于将修改过的文件添加到暂存区中,这些文件会在下一次 Git Commit 提交时一并提交。

git add <file> # 添加单个文件
git add .      # 添加当前目录下所有修改的文件和新增的文件
git add -u     # 添加所有修改和删除的文件,不包括新增的文件

如果一些文件没有被添加到暂存区,那么这些文件就不会被包含在最后一次提交中。这时,可以使用一些技巧来添加这些文件。

添加漏掉的文件
方案一:重新 Commit

如果知道漏掉的文件是哪些,且这些文件并没有被提交过,那么可以简单地使用 Revert 方式重新 Commit,将这些文件一并提交。

# 撤销最近一次提交
git revert HEAD
# 然后再次提交,包含漏掉的文件
git add .
git commit -m "New commit message"
方案二:使用 Amend

如果漏掉的文件只是最近一次提交中的问题,那么可以使用 Amend 命令来修改最后一次提交,并将漏掉的文件添加进去。

# 添加漏掉的文件到暂存区
git add <file>
# 使用 Amend 修改最近一次提交
git commit --amend

这样,漏掉的文件就会被添加到最后一次提交中。

方案三:修改 History

如果漏掉的文件不在最近一次提交中,那么可以使用 Git Filter-branch 命令修改提交历史。当在更新历史记录中的节点时,需要在新分支上迭代。具体步骤如下:

  1. 创建一个新的分支:git checkout -b new_branch
  2. 运行 git filter-branch 命令,添加漏掉的文件:git filter-branch --tree-filter 'touch <file>'
  3. 将新的分支推送到远程仓库:git push origin new_branch
  4. 然后在本地合并新的分支:git merge new_branch
  5. 最后,将本地的修改推送到远程仓库:git push

注意:使用 Git Filter-branch 修改提交历史有风险,请提前备份好代码。

小结

本文介绍了三种添加漏掉文件的方式,分别是重新 Commit、使用 Amend 和修改 History。在实际使用过程中,需要根据实际情况进行选择。另外,正确使用 Git Add 命令,也是避免漏处理文件问题的重要手段。