你应该知道的 Git 技巧
在这篇文章中,我们将讨论一些非常有用的 Git 技巧,如果你在 Git 上搞砸了,这些技巧真的可以救你一命。现在,事不宜迟,让我们开始吧🏃🏻♂️
修复最后提交信息
你有没有遇到过这种情况:你本来想提交“Final comment”,但实际输入的却是“Final commment”。如果别人发现你的评论只有三个“m” ,那就太可惜了。
好在这个问题已经解决了。
git commit --amend
只需在终端上打开项目目录并输入上述命令即可。这将打开编辑器,并允许您更改上次提交的消息。这对我来说真是救星。
更改分支名称
假设你想创建一个名为release的分支,但不知何故,你却把分支命名为relaese。别慌,这个问题也有解决方案。
git branch -m relaese release
这能帮你省点事。但如果你已经推送过这个分支,那么还需要几个额外的步骤。解决办法是,你需要从远程仓库删除旧分支,然后推送新分支。
git push origin --delete relaese
git push origin release
在 repo 中添加了错误的文件
如果你曾经在仓库里提交过不该提交的内容,你就知道情况有多糟糕。它可能是一个恶意的 ENV 文件、一个构建目录,甚至可能是一张你不小心保存到错误文件夹的狗狗照片(假设一下😐)?这些都可以修复。
如果您尚未提交,那么您只需重置该文件。
git reset /assets/img/unknown.jpg
如果你已经提交了更改,不用担心。你只需要再执行一个步骤:
git reset --soft HEAD~1
git reset /assets/img/unknown.jpg
rm /assets/img/unknown.jpg
git commit
这将撤消提交,删除图像,然后在其位置添加新的提交。
一切都出错了
这是你的王牌!当你遇到任何麻烦,不知所措时,这就是你的解决方案。例如,当你从Stack Overflow复制粘贴了太多解决方案,导致你的代码库比刚开始时更糟糕时,这就是你的救星。
git reflog
它会显示你迄今为止所做所有事情的列表。然后,你可以使用 Git 的时间旅行功能回到过去的任何时间点。
当您运行此命令时,它会显示如下内容:-
4gg9702 (HEAD -> release) HEAD@{0}: Branch: renamed refs/heads/relaese to refs/heads/release
4gg9702 (HEAD -> relaese) HEAD@{2}: checkout: moving from master to release
3c8f619 (master) HEAD@{3}: reset: moving to HEAD~
4gg9702 (HEAD -> feature-branch) HEAD@{4}: commit: Adds the client logo
3c8f619 (master) HEAD@{5}: reset: moving to HEAD~1
48b743e HEAD@{6}: commit: Adds the client logo to the project
3c8f619 (master) HEAD@{7}: reset: moving to HEAD
3c8f619 (master) HEAD@{8}: commit (amend): Added contributing info to the site
egb38b3 HEAD@{9}: reset: moving to HEAD
egb38b3 HEAD@{10}: commit (amend): Added contributing info to the site
811e1c6 HEAD@{11}: commit: Addded contributing info to the site
fgcb806 HEAD@{12}: commit (initial): Initial commit
记住,左侧列代表索引。如果您想返回历史记录中的任何时间点,请运行以下命令,将 {index} 替换为该时间点的索引,例如 egb38b3。
git reset HEAD@{index}
你有什么 Git 技巧吗?请在下方评论区留言告诉我。
感谢阅读!如果您觉得本文有用,别忘了分享给您的朋友和粉丝!
文章来源:https://dev.to/iankurbiswas/git-hacks-you-should-know-about-16pk