五大 Git 技巧和窍门

2025-05-27

五大 Git 技巧和窍门

成为 Git 高级用户是每个开发者的梦想。今天我们准备了 5 个 Git 技巧,帮助你提升工作流程,让你离 Git 精通更近一步。

提示 #1

修改之前的提交,但不更改提交消息

你刚刚在本地副本上提交了更改,并附上了一条经过深思熟虑的详细消息,但当你按下回车键时,你意识到你忘了添加一个真正应该添加到本地的更改。要是能更新之前的提交而不是创建新的提交就好了……

$ git commit --amend --no-edit
Enter fullscreen mode Exit fullscreen mode

此命令允许您修改最后一次提交,但不更改提交消息。哈希值将被更新,但只会保留一条提交记录,从而使您的本地 Git 历史记录保持干净整洁。

提示 #2

保持你的提交井然有序

你原本只想修复一个功能,但与此同时,你进入了开发流程,修复了一个棘手的 bug,还发现了一个非常恼人的拼写错误。一件事接着另一件事,你突然意识到自己已经编码了好几个小时,却什么都没提交。现在你的修改太多了,一次提交根本塞不进去……

$ git add -p <filename>
Enter fullscreen mode Exit fullscreen mode

使用 git add -p(或git add --patch),您可以选择要将文件中的哪些代码部分包含在提交中。运行该命令后,您将获得可添加到 git 的选项列表add -p

通过选择,您可以将大块拆分成更小的部分。然后,您只需使用 和s导航即可选择要暂存提交的块(并忽略不需要提交的块)(或者从列表中选择任何其他选项)。yn

提示#3

带我回到美好的时光(那时一切都顺利!)

今天心情不太好。你做了不该做的修改,现在一切都乱套了……有办法撤销这些提交吗?

$ git reflog
Enter fullscreen mode Exit fullscreen mode

使用这个方便的命令,您可以获得 Git 中所有提交的记录。

终端视图

现在您只需要找到导致所有麻烦的提交之前的提交。HEAD@{index}代表指定的提交,因此只需用正确的数字替换索引并运行:

$ git reset HEAD@{index}
Enter fullscreen mode Exit fullscreen mode

的默认操作git resetgit reset --mixed。这意味着工作目录中的更改将被保留但不会被暂存(因为索引已被修改以匹配所选的提交,因此更改不再存在于索引中)。

其他选项包括:

$ git reset --soft
# Doesn’t modify the index or the working tree, leaving your changes staged for commit.
Enter fullscreen mode Exit fullscreen mode
$ git reset --hard
# Use with caution, as it resets both the index and working tree. Uncommitted changes and all commits after will be removed.
Enter fullscreen mode Exit fullscreen mode

瞧,现在你就可以重新开始,因为仓库里的一切都很顺利。记住,只能在本地使用,因为修改共享仓库会被视为严重犯罪。

提示#4

让我们面对这些合并冲突

您遇到了严重的合并冲突,但是在比较了两个冲突的版本之后,您仍然不知道哪一个是正确的。

$ git checkout --conflict=diff3 <filename>
Enter fullscreen mode Exit fullscreen mode

解决合并冲突并非总是轻松愉快,但这个命令可以让你的生活更轻松一些。通常,你需要更多上下文来判断哪个分支是正确的。默认情况下,Git 会显示包含两个存在冲突的文件版本的标记版本。选择上面的选项后,你还可以看到基础版本,希望可以帮你省去一些麻烦。你也可以使用以下命令将其设置为默认版本:

$ git config --global merge.conflictstyle diff3
Enter fullscreen mode Exit fullscreen mode

💡 “解决合并冲突真有趣!”——从来没人这么说过。好消息是,使用 GitLive,你可以在冲突发生前收到通知。编辑器的间距指示器可以实时显示团队成员的更改。查看这篇博文了解更多信息。


提示 #5

让自动更正来处理它

您对自己惊人的打字速度感到非常自豪,但同时您甚至不记得自己输入了多少次“git stauts”而不是“git status”,这让您有点恼火。

$ git config --global help.autocorrect <integer>
Enter fullscreen mode Exit fullscreen mode

Git 自动更正功能对于所有缺乏耐心的开发者来说都是一个便捷的选择。该整数值代表十分之一秒。选择 30 表示您有 3 秒钟的时间来改变主意并停止操作 - 否则 Git 会假定您的意思与实际编写的指令最相似。不过不用担心,如果您输入的内容与 Git 命令完全不同,Git 会放弃猜测并打印错误消息。

感谢阅读!希望我们的 Git 技巧对你有所帮助。欢迎在评论区分享你最喜欢的技巧!祝你 Git 愉快!

文章来源:https://dev.to/gitlive/top-5-git-tips-tricks-8na
PREV
我尝试了所有热门编程语言
NEXT
🫰Clickvote: Open-source upvotes, likes, and reviews to any context 🔥 TL;DR