随着 DevOps 技术的兴起,任何 IT 专业人员同时处理多个数据集已成为不可避免,并且数据总是在变化。跟踪数据的每次更新并准备好在必要时撤消或撤消任何不需要的更改也很重要。
使用 Git 来版本数据允许在创建项目时更具冒险精神。如果犯了错误,众所周知,git 将始终允许撤消和/或将项目的该版本恢复到发生错误之前的状态。在将数据转发到下一级之前,每个 Git 流程层都旨在允许审查、更改和/或纠正数据更改。因此,以下是本文中发生并解决的错误:
1. 从索引中删除文件和文件夹: ‘git add’ 命令的默认功能用于在添加和/或更改文件时将所有文件和目录添加到索引中。可能需要在提交之前最后一次取消暂存或更改特定文件。
句法-
git reset
2. 忘记了上次提交的一些更改:如果用户忘记进行一些更改并且之前提交了快照并且用户不想再次提交以指出错误。
句法-
git commit –amend
3. 编辑最近提交的消息:可以更改最近提交的消息而无需创建新消息。以下是创建别名“hist”以列出已提交日志的示例命令。
句法-
git config –global alias.hist ‘log –pretty=format:”%C(yellow)%h%Geeks%ad | %C(green)%s%Geeks%C(blue)%d%for Geeks %C(red)[%an]” –graph –decorate –date=short’x
4. 个人数据已提交到本地存储库:有时可能会发生手机相机保存的照片进入提交文件夹并被推送的情况。现在需要从工作目录中删除某些文件,但将其他文件保留在本地存储库中。
句法-
git reset –mixed HEAD~
git reset –mixed
5. 应忽略本地所做的更改:让我们以更新和暂存的“README”文件为例。然后对同一文件进行第二次编辑。但这不是必需的更改。
句法-
git checkout —
git checkout —
6. 用新提交替换之前的提交: ‘-soft’ 选项只是从本地存储库中删除提交的文件,同时它们仍保留在索引中,允许在审查后重新提交它们。假设需要从本地存储库中删除快照的 SHA-1 是 commit-id。 其中 n 是 HEAD 提交之前的提交次数。
句法-
git reset –soft HEAD~1
7. 提交错误数据:有时会发生用户向存储库提交错误数据的情况。让我们看看如何将项目重置为提交错误数据之前的状态。
句法-
git reset –hard HEAD~n –reset the project to ‘n’ commits before the latest committed snapshot
git reset –hard
8. 回到旧项目状态:回到旧项目状态的最快和最干净的方法是在 git 中使用 reset 命令和 –hard 标志,这样一切都回到以前的状态。
句法-
git reset –hard
9. 恢复已删除的本地分支:有时,由于一个小错误,一些重要的本地分支可能在推送之前就被删除了。在这种情况下,下面的命令(签出)肯定有助于恢复丢失的文件。
句法-
git checkout -b
10. 修复错误的分支名称:有时刚刚重命名的分支有一些拼写错误,例如 Geeks for Geeks 变成了 forGeeks,或者用户可能不太喜欢分支名称并希望使用命令行重命名它。以下命令可用于实现相同的目的:
语法 –定位旧名称
git checkout
语法 –现在修复和重命名
git branch -m
11.重新排列历史日志:如果将一些提交汇集在一起,然后将提交连接成一个大提交并进一步重新排列它们,那可能真的很棒。为了实现这一点,git 提供了一种简单的方法。
句法-
git rebase –interactive
就是这样,只需继续将提交顺序放置在该位置,提交就会继续排列。
注意:上述方法适用于本地提交,而不是推送的提交。
12. GitHooks 的错误: Git hooks 是在提交更改时检查代码的绝佳方法。它们是位于本地存储库的 .git/hooks 目录中的简单脚本。根据钩子的名称,这些脚本在本地进程的特定时刻完成。在处理大型协作项目时,有时可能会遇到一些错误。让我们看看如何避免这种情况。可以简单地将输出重定向到 stderr,如果出现某些错误,它将在电子邮件和桌面上提醒并通知用户,如果您即将推送的提交可能导致某些错误,它会提醒您更好为此,也。
将它包含在您的项目中非常简单,只需执行以下操作:
# Performing some random task here
perform 1>&2
# Redirecting the output to stderr.
FORBIDDEN=’todo: fix this’
# A simple method to return what you need to do if you encounter this.
git diff –cached –name-only | \
xargs grep –with-filename -i -n “$FORBIDDEN” && echo “COMMIT REJECTED
Found ‘$FORBIDDEN’ references. Kindly alter the changes or remove them
before commiting” && exit 1
exit
# The program quits
没有输出,因为 gitook 成功执行。
就像这样,您处理了可能存在的 githook 错误,并且可以像以前一样继续您的项目!所有这些都是日常 Git 体验场景中最常见的错误。当您知道完美的语法时,处理它们会变得轻而易举!