网站定制公司短视频剪辑自学
2025/12/29 17:42:19 网站建设 项目流程
网站定制公司,短视频剪辑自学,软件开发的软件,韩文网站建设面试官问#xff1a;Git 如何撤回已 Push 的代码#xff1f;如果问你#xff0c;你会吗#xff1f;在日常的开发中#xff0c;我们经常使用Git来进行版本控制。有时候#xff0c;我们可能会不小心将错误的代码 Push 到远程仓库#xff0c;或者想要在本地回退到之前的某个…面试官问Git 如何撤回已 Push 的代码如果问你你会吗在日常的开发中我们经常使用Git来进行版本控制。有时候我们可能会不小心将错误的代码 Push 到远程仓库或者想要在本地回退到之前的某个版本重新开发。或者像我一样写了一些感觉以后很有用的优化方案push到线上又接到了一个新的需求。但是呢项目比较重要没有经过测试的方案不能轻易上线为了承接需求只能先把push上去的优化方案先下掉。现在我的分支是这样的我想要在本地和远程仓库中都恢复到help文档提交的部分。图片1. 基础的手动操作比较笨不推荐这样的操作非常不推荐但是如果你不了解git确实是我们最容易理解的方式。如果你的错误代码不是很多那么你其实可以通过与你想要恢复到的commit进行对比然后手动删除错误代码然后删除不同的代码。按住 ctrl 选择想要对比的两个commit然后选择Compare Versions就能通过对比删除掉你想要删除的代码。这个方案在代码很简单时时非常有效的甚至还能通过删除后最新commit和想要退回的commit在Compare一下保障代码一致。但是这个方法对于代码比较复杂的情况来说就不太好处理了如果涉及到繁杂的配置文件那更是让人头疼。只能通过反复的Compare Version来进行对比。这样的手动操作显然显得有些笨拙了对此git有一套较为优雅的操作流程同样能解决这个问题。2. git Revert Commit推荐同样的我第三次提交了错误代码并且已经push到远程分支。想要撤回这部分代码只需要右键点击错误提交记录git自动产生一个Revert记录然后我们会看到git自动将我第三次错误提交代码回退了这个其实就相当于git帮我们手动回退了代码。后续只需要我们将本次改动push到远程即可完成一次这次回退操作revert相当于自动帮我们进行版本回退操作并且留下改动记录非常安全。这也是评论区各位大佬非常推荐的。但是revert还是存在一点不足即一次仅能回退一次push。如果我们有几十次甚至上百次的记录一次次的单击回退不仅费时费力而且还留下了每次的回退记录我个人觉得revert在这种情况下又不太优雅。3. 增加新分支推荐撤回较多情况下使用)如果真的需要回退到上百次提交之前的版本我的建议是直接新建个分支。在想要回到的版本处的提交记录右键点击new branch图片新建分支的操作仅仅增加了一个分支既能保留原来的版本又能安全回退到想要回退的版本同时不会产生太多的回退记录。但是此操作仍然建议慎用因为这个操作执行多了分支管理就又成了一大难题。4. Reset Current Branch 到你想要恢复的commit记录不太安全慎用这个时候会跳出四个选项供你选择我这里是选择hard。其他选项的含义仅供参考因为我也没有一一尝试过。Soft你之前写的不会改变你之前暂存过的文件还在暂存。Mixed你之前写的不会改变你之前暂存过的文件不会暂存。Hard文件恢复到所选提交状态任何更改都会丢失。你已经提交了然后你又在本地更改了如果你选hard那么提交的内容和你提交后又本地修改未提交的内容都会丢失。keep任何本地更改都将丢失文件将恢复到所选提交的状态但本地更改将保持不变。你已经提交了然后你又在本地更改了如果你选keep那么提交的内容会丢失你提交后又本地修改未提交的内容不会丢失。然后之前错误提交的commit就在本地给干掉了。但是远程仓库中的提交还是原来的样子你要把目前状态同步到远程仓库。也就是需要把那几个commit删除的操作push过去。打开push界面虽然没有commit需要提交需要点击Force Push强推过去。需要注意的是对于一些被保护的分支这个操作是不能进行的。需要自行查看配置我这里因为不是master分支所以没有保护。可以看到远程仓库中最新的commit只有我们的help文档。在其上的三个提交都没了。注意:以上使用的是2023版IDEA,如果有出入的话可以考虑搜索使用git命令

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询