10 个你希望早点知道的 Git 命令

2025-05-25

10 个你希望早点知道的 Git 命令

刚开始学习 Git 时,你可能会感到有些畏惧。大多数开发人员会坚持使用git addgit commitgit push,在大多数情况下,这就足够了——直到你遇到一个不知道如何解决的问题。

这时,这 10 个 Git 命令可以节省您的时间和精力。

1.git reflog恢复丢失的提交

有时,您会意外删除分支或重置为错误的提交。git reflog让您回到过去并恢复丢失的工作。

作用:跟踪存储库中所做的每个更改,甚至包括那些您认为已经消失的更改。

何时使用:

  • 您不小心删除了一个分支。
  • 您需要在错误重置后恢复提交。

命令:

git reflog
Enter fullscreen mode Exit fullscreen mode

2.git cherry-pick应用特定提交

您需要来自另一个分支的提交,但不想合并所有内容。git cherry-pick仅带来您需要的提交。

功能:允许您将特定的提交从一个分支应用到另一个分支。

何时使用:

  • 您需要从不同的分支修复错误,而不需要合并不必要的更改。

命令:

git cherry-pick <commit-hash>
Enter fullscreen mode Exit fullscreen mode

3.git bisect找到有问题的提交

当出现错误但您不知道是哪个提交引入了该错误时,git bisect它可以帮助您有效地追踪该错误。

作用:使用二进制搜索来识别导致问题的提交。

何时使用:

  • 您需要找到哪个提交引入了错误。

命令:

git bisect start
git bisect bad  # Mark the current commit as bad
git bisect good <commit-hash>  # Mark a known good commit
Enter fullscreen mode Exit fullscreen mode

Git 将指导您完成提交,直到找到问题。

4.git stash pop切换任务而不丢失工作

您正在编码,突然需要切换分支。git stash pop让您在不丢失进度的情况下完成此操作。

作用:保存未提交的更改,以便您稍后应用它们。

为什么pop不用stash它会自动应用已保存的更改并将其从存储列表中删除。

命令:

git stash pop
Enter fullscreen mode Exit fullscreen mode

5. git reset --soft– 撤消提交而不丢失更改

您提交得太早了,现在需要修改提交。git reset --soft将提交移回暂存区。

作用:允许您编辑提交而不会丢失更改。

何时使用:

  • 您需要在推送之前修改最后一次提交。

命令:

git reset --soft HEAD~1
Enter fullscreen mode Exit fullscreen mode

6. git blame– 跟踪文件更改

如果您想了解为什么进行某项更改,git blame请显示文件中每一行的最后修改。

作用:显示文件每一行的提交历史记录。

何时使用:

  • 您想知道谁更改了特定的一行代码。

命令:

git blame <file>
Enter fullscreen mode Exit fullscreen mode

7.git log --oneline --graph更清晰的历史视图

包含多个分支的仓库可能会变得混乱。此命令提供了提交历史记录的简化可视化概览。

作用:以结构化、易于阅读的格式显示提交。

何时使用:

  • 您需要了解分支如何分歧和合并。

命令:

git log --oneline --graph --all
Enter fullscreen mode Exit fullscreen mode

8.git clean -f删除未跟踪的文件

如果您的工作目录中堆满了未跟踪的文件,git clean -f请帮助清理它。

其作用:从工作目录中删除未跟踪的文件。

何时使用:

  • 有未跟踪的文件干扰了您的工作。

命令:

git clean -f
Enter fullscreen mode Exit fullscreen mode

9. git rebase -i– 编辑您的提交历史记录

当您需要在合并之前清理提交时,git rebase -i可以让您压缩、编辑或删除提交。

作用:允许您以交互方式修改提交历史记录。

何时使用:

  • 合并之前,让你的提交历史看起来结构化且清晰。

命令:

git rebase -i HEAD~<number-of-commits>
Enter fullscreen mode Exit fullscreen mode

注意:避免在公共分支上使用此功能 - 它会重写历史记录并可能导致冲突。

10. git diff --staged– 审查阶段性变更

在提交之前,您可能需要仔细检查您要推送的内容。git diff --staged显示了这一点。

作用:显示暂存区和上次提交之间的变化。

何时使用:

  • 您想在提交之前验证阶段性变更。

命令:

git diff --staged
Enter fullscreen mode Exit fullscreen mode

希望这有帮助!

你还有什么常用的 Git 命令不在这个列表中吗?欢迎在评论区留言讨论!

文章来源:https://dev.to/balrajola/10-git-commands-youll-wish-you-knew-earlier-2efg
PREV
如何编写干净的代码:重构和最佳实践。
NEXT
10 个开发工具,助您改善开发人员的日常生活