Git 技巧数不胜数,这是一件好事,因为你永远不会嫌多。如果你每天都使用 Git,那么你找到的每一个技巧、诀窍和快捷方式都有可能节省时间和精力。我向 Opensource.com 社区成员询问了他们最喜欢的 Git 技巧。 这就是它们!
add
git add --patch
(简写为 -p
)命令启动对更改块的交互式审查,您可以添加这些更改块,将其拆分为更小的块或忽略(以及其他操作)。 这样,您可以确保将更改限制为特定的提交。
我使用 git add -p
在提交之前一次一块地审查更改。 它可以让你检查是否忘记删除一些粗略的想法、零散的评论或其他你不应该提交的东西。
amend
Git 选项 --amend
是一种有用的替代方法,可以替代创建多个提交,然后通过交互式 rebase 将它们压缩为一个提交。 我喜欢你可以不断修改你的第一个提交,以根据需要添加其他更改。
bisect
我知道我搞砸了一些东西,但我不知道是什么时候。 这就是 git-bisect
的用途。
在之前的生活中,我是一家位于芝加哥郊外的机构的 Drupal 和 WordPress 的后端开发人员。 我有多个客户站点在同时进行,像弹球一样来回切换。 偶尔,有人会在我的代码中发现一个未记录的功能,而且由于所有不同的客户站点而导致记忆模糊,git-bisect
会派上用场,帮助我找到罪魁祸首。
blame
与 git blame
命令的名称相反,我不会用它来指责他人。 当你接管你没有初始化的存储库时,它非常有用。 您可以看到何时完成某些更改,并希望看到它们背后的提交消息。 这是一个很棒的故障排除工具。
checkout
我使用 git checkout -
切换到上一个分支。 它便于从功能分支切换回主开发分支,然后再切换回来。
diff
我喜欢 git diff --staged
命令,可以在提交之前查看所有暂存的更改。
status
当工作时,我似乎会接触到很多文件,而 git status
是救命稻草。 通过 git status
了解工作目录和暂存区的状态,帮助我学习了 Git 中的那些核心概念,并确保我的所有工作都已提交!
—Ravi Lachhman,Shipa 公司的 Field CTO
squash (rebase -i)
我喜欢使用 此命令 将几个提交压缩为一个提交。 首先使用 git rebase -i HEAD~#
,其中 #
是要压缩的提交数。 在每个应该成为其上方提交一部分的提交上将 pick
更改为 squash
。 然后根据需要编辑您的提交消息。 它使提交历史非常整洁。
update-index
谨慎使用此命令!
$ git update-index --assume-unchanged path/to/file
它便于将一个有本地更改的文件标记为未更改,或者只是那些不断发誓说它已被更改的讨厌文件之一,即使你绝对没有对它做任何事情。
worktree
我最喜欢的功能之一是 git-worktree
功能,它可以管理 repo 中不同分支的同时检出,而无需对文件进行批量复制。
这是一个例子
$ git worktree add ../feature-branch feature-branch
总结
现在是时候提出您自己最喜欢的技巧了。 哪些 Git 命令可以节省您的时间或防止错误? 您在工作中会将哪些技巧传授给新的 Git 用户? 让我们知道,因为我们本周庆祝 Git 诞生 17 周年!
1 条评论