每个开发人员都应该知道的 20 个 Git 命令行技巧

开发 前端
大多数开发人员每天都会使用 Git,但许多人只是对其功能略知一二。

大多数开发人员每天都会使用 Git,但许多人只是对其功能略知一二。

学习一些 git 命令行技巧可以改变游戏规则,让你更高效、更有成效,对版本控制更有信心。

那么,让我们深入了解每个开发人员工具包中都应该有的 20 个 Git 命令行技巧。

1. 交互式添加

此命令允许您暂存文件的部分内容而不是整个文件。当您只想提交文件中的某些更改而将其余部分留待以后处理时,这非常有用。

如何使用它:

git add -p

提示:

当您在一个文件中处理多个功能但想要单独提交它们时,请使用此功能!

2. 撤消最后一次提交

在最后一次提交中犯了错误?没问题。此命令撤消您的最后一次提交,但将更改保留在您的工作目录中,因此您可以轻松解决问题。

如何使用它:

git reset --soft HEAD~1

提示:

如果您想保留更改,请使用 --soft;如果您想撤消所有内容(包括本地更改),请使用 --hard。

3. 检查分支的上游状态

此命令从远程获取所有更新,并修剪(删除)对已从远程删除的分支的引用。

如何使用它:

git fetch --all --prune

提示:

定期运行它以避免分支列表混乱,尤其是在大型团队中工作时。

4. 快速提交修复

忘记添加文件或在提交信息中输入错误?git commit --amend 可让您更新上次提交,而无需创建新提交。

如何使用:

git commit --amend

提示:

这非常适合消除小错误,而不会用不必要的提交污染您的 Git 日志。

5. 存储您的工作

需要切换分支但又不想丢失当前更改?存储可让您保存工作而不提交,让您稍后返回。

如何使用它:

git stash

提示:

使用 git stash save "description" 添加描述,以便你以后可以快速识别你的存储。

6. 弹出你的存储

当你准备好返回到你的存储工作时,你可以将其“弹出”回你的工作目录。

如何使用它:

git stash pop

提示:

如果您想应用存储而不删除它,请使用 git stash apply。

7. 挑选提交

需要来自另一个分支的特定提交?挑选提交可让您将其应用于当前分支,而无需合并整个分支。

如何使用:

git cherry-pick <commit-hash>

提示:

当您需要反向移植错误修复或小功能时,这尤其有用。

8. 清理本地分支

一旦您完成了某个功能,就不要让旧分支残留。使用这个简单的命令清理它们。

如何使用它:

git branch -d <branch-name>

提示:

如果您需要强制删除尚未合并的分支,请使用 git branch -D <branch-name>。

9. 查看文件历史记录

使用 git log -- <file> 跟踪特定文件的演变。这会向您显示影响该文件的所有提交。

如何使用它:

git log -- <file>

提示:

添加 --stat 以查看有关更改的更多详细信息。

10. 归咎于一行代码

想知道是谁写了一行代码?git blame 可以逐行显示文件中哪些内容被谁修改。

如何使用:

git blame <filename>

提示:

将其与 git log -- <file> 结合使用可获得更详细的更改历史记录。

11. 查找错误来源

这个强大的工具会对您的提交历史记录执行二进制搜索,以查找引入错误的提交。

如何使用它:

git bisect start
git bisect bad
git bisect good <older-commit-hash>

它就像 Git 的侦探模式——非常适合识别错误出现的位置,而无需手动检查每个提交。

提示:

在复杂的项目中使用它,在这些项目中您无法轻松确定何时出现问题。

12. 中止合并

如果您已开始合并但事情没有按计划进行,此命令将中止合并并返回到之前的状态。

如何使用它:

git merge --abort

它可以快速摆脱棘手的情况,让您重新开始。

提示:

在尝试合并之前,请务必确保您的工作目录是干净的。

13. 搜索提交消息

正在寻找特定的提交消息?使用 git log --grep 搜索提交消息。

如何使用它:

git log --grep="search term"

当您记住提交消息中的关键字而不是确切的提交哈希时,您可以更快地找到提交。

提示:

将其与 git log --author 结合使用,以查找特定开发人员的提交。

14. 标记提交

标签可用于标记 Git 历史记录中的特定点,例如发布。

如何使用:

git tag -a v1.0 -m "Version 1.0 release"

它有助于标记重要的里程碑,使以后轻松跳回到特定版本。

提示:

当您不需要其他元数据时,请使用轻量级标签(git tag <tagname>)。

15. 硬重置以清理工作区

需要快速摆脱未跟踪的文件和目录?此命令会将它们清除,只留下受版本控制的文件。

如何使用它:

git clean -fd

它可以清除不需要的杂乱,让您的工作区井井有条。

提示:

请谨慎使用 - 确保您以后不需要这些未跟踪的文件!

16. 查看所有 Git 操作

如果您曾经弄乱过 Git 历史记录,git reflog 就是您的安全网。它显示存储库上所有操作的日志,允许您恢复丢失的更改。

如何使用它:

git reflog

它是您的 Git 历史记录,可让您找到丢失的提交和操作。

提示:

当您认为在错误重置或变基后所有希望都破灭时,请使用它!

17. 压缩提交

想要在推送之前清理您的提交历史记录?压缩提交可让您将多个提交合并为一个,以获得更整洁的历史记录。

如何使用它:

git rebase -i HEAD~<number-of-commits>

压缩可让您的提交历史看起来精致而专业,尤其是在与团队共享时。

提示:

这非常适合在推送之前将多个小修复合并为一个清晰的提交。

18. 撤销提交

是否需要撤消特定提交而不影响您的整个历史记录?git revert 会创建一个新的提交,以撤消指定提交的更改。

如何使用它:

git revert <commit-hash>

与重置不同,它不会重写历史记录 - 它只是反转提交的效果,使其成为以干净的方式撤消错误的完美选择。

19. 查看分支图表

此命令为您提供分支历史记录的视觉概览,使您更容易查看合并、分支和提交。

如何使用它:

git log --graph --oneline --all

它是项目结构的一览视图,对于理解复杂的分支设置特别有用。

20. 自动完成

不要浪费时间输入长命令。启用 Git 自动完成功能,只需按简单的 TAB 键即可完成命令。

如何使用它:开始输入 Git 命令后,只需按 TAB 键即可。

自动完成可加快您的工作流程并有助于防止输入错误。

提示:

确保在终端中设置了 Git 自动完成功能,以大幅提高工作效率!

这些技巧不仅仅是开发环境中保持高效和井然有序的必备工具。无论您是独自编码还是在团队中工作,了解这些技巧都可以大大提高您的工作效率,让您在同事面前看起来像一个 Git 大师。

责任编辑:华轩 来源: web前端开发
相关推荐

2022-02-21 00:11:24

Java工具开发

2023-03-08 15:13:32

Git工具开发

2013-01-28 10:25:46

开发人员设计技巧

2024-06-04 14:31:16

2024-06-03 10:35:41

2023-07-11 16:45:32

VS Code开发技巧

2019-11-25 14:09:34

控制台命令开发

2020-01-27 16:28:57

开发命令远程服务器

2024-10-21 13:15:03

2021-02-05 12:58:18

开发人员CICD

2023-02-08 08:32:58

2020-10-13 18:20:55

TCPHTTP网络协议

2023-10-26 16:56:24

2020-09-22 12:19:25

JavaGithub仓库

2023-01-12 08:33:06

2024-09-06 15:48:13

2022-05-09 07:40:16

WebCSS前端

2022-10-13 15:19:33

JavaScript开发编程语言

2022-12-16 08:14:00

2024-01-24 08:00:00

点赞
收藏

51CTO技术栈公众号