大家好,这里是架构资源栈!点击上方关注,添加“星标”,一起学习大厂前沿架构!
10 个你希望早点知道的 Git 命令
前言
刚开始使用 Git 时,您可能会感到畏惧。大多数开发人员坚持使用 git add、git commit
并且 git push,在大多数情况下,这就足够了 — 直到您遇到不知道如何解决的问题。现在,这 10 个 Git 命令可以为您节省时间和精力。
git reflog– 恢复丢失的提交
有时,您会意外删除分支或重置为错误的提交。git reflog 可以让您回到过去并恢复丢失的工作。
其作用:跟踪存储库中所做的每一个更改,甚至包括那些您认为已经消失的更改。何时使用:
您不小心删除了一个分支。
您需要在错误重置后恢复提交。
命令:
git reflog
git cherry-pick– 应用特定提交
您需要来自另一个分支的提交,但不想合并所有内容。git cherry-pick 仅引入您需要的提交。
功能:让你将特定的提交从一个分支应用到另一个分支。何时使用:
您需要从不同的分支修复错误,而补充不必要的更改。
命令:
git cherry-pick <commit-hash>
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
Git 将指导您完成工作,直到找到问题。
git stash pop– 切换任务而不丢失工作
您正在编写代码,突然,您需要切换分支。git stash pop 让您实现这一点而不会丢失项目。
功能:保存未提交的更改,以便您稍后应用它们。
为什么 pop 不是 stash?它会应用已保存的更改并自动将其从存储列表中删除。命令:
git stash pop
git reset --soft– 撤消提交而不丢失更改
您修改提交太早,现在需要提交。git reset --soft 将提交移回暂存区。
功能:允许您编辑提交而不丢失更改。何时使用:
您需要在最后一次提交之前进行修改。
命令:
git reset --soft HEAD~1
git blame– 跟踪文件更改
如果您想了解为什么进行了某些更改,git blame 主板显示文件中每一行的最后修改。
功能:显示文件每一行的提交历史记录。何时使用:
您想知道谁更改了特定的一行代码。
命令:
git blame <file>
git log --oneline --graph– 更清晰的历史观点
具有多个分支的存储库可能会严重混乱。此命令提供了提交历史记录的简化的概览。
功能:以显示格式、易于阅读的格式提交。何时使用:
您需要了解分支如何闭合和合并。
命令:
git log --oneline --graph --all
–git clean -f 删除未跟踪的文件
如果您的工作目录中堆满了未跟踪的文件,git clean -f 则有助于清理它。
其功能:从工作目录中删除未跟踪的文件。
何时使用:
未跟踪的文件干扰了您的工作。
命令:
git clean -f
git rebase -i– 编辑您的提交历史记录
当您需要在合并之前清理您的提交时,git rebase -i 可以对您进行压缩、编辑或删除提交。
功能修改:允许您以交互方式提交历史记录。何时使用:
合并之前,让您的提交历史记录看起来清晰。
命令:
git rebase -i HEAD~<number-of-commits>
注意:避免在公共分支上使用此功能 - 它会重写历史记录并可能导致冲突。
git diff --staged– 审查阶段性变更
在提交之前,您可能需要仔细检查您要主动的内容。git diff --staged 强调这一点。
功能:显示临时存储区和上次提交之间的变化。何时使用:
您想在验证之前提交临时保存的更改。
命令:
git diff --staged
希望这有助于!
您是否有一个不在本列表中的常用 Git 命令?让我们在评论中讨论!
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。