>개발 도구 >자식 >GIT는 어떻게 커밋으로 롤백합니까?

GIT는 어떻게 커밋으로 롤백합니까?

Guanhui
Guanhui앞으로
2020-07-23 17:57:1812832검색

GIT는 어떻게 커밋으로 롤백합니까?

머리말

직장에서 Git을 점점 더 자주 사용하게 됩니다. . 가장 일반적으로 사용되는 clone, add, commit, push, pull 및 기타 명령 ;롤백 명령 reset도 있습니다. 이 블로그에서는 이 롤백 명령의 간단한 사용을 기록합니다. clone,add,commit,push,pull等命令;还有回退命令reset。这一篇博客就记录一下该回退命令的简单使用。

场景

因为公司开发过程中,处理订单,限时购买等业务时,都是用的阿里云的消息队列MQ实现的。或者是两个系统之间的交互,同步信息,如用户在支付系统A下了一个订单(支付成功),这个时候支付系统A除了处理订单,还有向库存系统B发送一个消息,告知库存系统B要减少下单商品的库存。

我本地跑项目的时候,如果不注释掉监听器,测试服上的消息也可能会发送到我本地,导致消息丢失。
然后~~我就把本地的监听器那一段代码注释掉,方便测试人员在测试服上进行测试。注释掉代码如下图:

哈哈~~注释掉后,提交的时候,被我一起提交了!真是尴尬呢!测试人员说出bug了!

一看代码提交历史~~消息监听器被我注释掉了。这个锅我背!(笑哭)

解决问题

哎呀。。。上面说的好像跟这篇文章要说的不太对的上。

其实是开发中,我不小心把不该提交的代码提交到了本地,例如TaskListener这个类,改了之后,不能提交,一不小心被我commit到了本地(还没有推送到远程)。

有可能已经commit了多次到本地。

1. 先查看commit日志 执行下面命令

git log

 

2. 回滚、取消之前的提交

这里我们假设应该回滚到239afed0857cc2e77c17c01014077808619af64d这个版本,及这个版本及之后的commit全部取消。

git reset --hard commit_id  
 //退到/进到 指定commit的sha码 commit_id:239afed0857cc2e77c17c01014077808619af64d

3.ok,可以重新提交了

git commit a.txt -m "重新提交"  
// 记得不要提交不想提交的文件哦

IDEA RESET

也可以直接使用IDEA的Reset Head 功能,先通过git log 得到要回退的commit_id,再进行下面截图的操作。可以先validate一下哦,看通过commit_id

Scenario

회사 개발 과정에서 주문, 기간 한정 구매 및 기타 비즈니스를 처리할 때 모두 Alibaba Cloud의 메시지 대기열 MQ를 사용하여 구현되기 때문입니다. 또는 두 시스템 간의 상호 작용, 예를 들어 사용자가 결제 시스템 A에서 주문을 합니다(결제 성공). 주문을 처리하는 것 외에도 인벤토리 시스템 B에 메시지를 보내 인벤토리 시스템 B에 주문한 상품의 재고를 줄이도록 지시합니다.

프로젝트를 로컬에서 실행할 때 Listener를 주석 처리하지 않으면 테스트 서버의 메시지가 내 로컬 컴퓨터에도 전송되어 메시지가 손실될 수 있습니다.

그럼~~ 테스터들이 테스트 서버에서 쉽게 테스트할 수 있도록 로컬 리스너 코드를 주석 처리했습니다. 아래와 같이 코드를 주석 처리합니다.

하하~ ~댓글 달고 제출할 때 같이 제출했어요! 정말 당황스럽네요! 테스터가 버그를 보고했습니다!

코드 제출 내역을 보니~~ 메시지 리스너가 제가 댓글을 달았네요. 내가 책임을 지겠다! (웃다 울다)

문제 해결🎜🎜🎜🎜앗. . . 위에서 제가 말한 내용은 이 글의 내용과 전혀 맞지 않는 것 같습니다. 🎜🎜실제로 개발 중에 TaskListener 클래스와 같이 로컬 컴퓨터에 제출하면 안 되는 코드를 실수로 제출했는데, 변경 후 실수로 제출이 안 됐어요. 로컬 컴퓨터(아직 원격으로 푸시되지 않음). 🎜🎜로컬에서 여러 번 커밋했을 가능성이 있습니다. 🎜🎜🎜1 먼저 커밋 로그를 확인하고 다음 명령을 실행합니다. .png" /> 🎜🎜

2. 이전 제출을 롤백하고 취소합니다🎜🎜

여기에서는 롤백해야 한다고 가정합니다. 239afed0857cc2e77c17c01014077808619af64d 이 버전과 이 버전 이후의 모든 커밋이 취소됩니다. 🎜rrreee🎜3.ok, 다시 제출할 수 있습니다🎜rrreee🎜🎜🎜IDEA RESET🎜🎜🎜🎜IDEA의 Reset Head 기능을 직접 사용할 수도 있습니다. 먼저 git log 가져오기를 통과하세요. 롤백할 commit_id를 입력한 후 아래 스크린샷을 수행하세요. 먼저 이를 검증하고 commit_id를 통해 이 제출물을 찾을 수 있는지 확인할 수 있습니다. 🎜🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜🎜Summary🎜🎜🎜🎜개발 과정에서 제출할 수 없는 일부 파일을 실수로 제출하는 경우가 종종 있습니다. . 개발을 위해 IDEA를 사용하는 경우 IDEA의 이 기능을 살펴볼 수 있습니다. 이는 실용적이며 더 이상 잘못된 제출물을 제출하는 것에 대해 걱정할 필요가 없습니다. 🎜🎜추천 튜토리얼: "🎜Git Tutorial🎜"🎜

위 내용은 GIT는 어떻게 커밋으로 롤백합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제