没有不值得去解决的问题,也没有不值得去学习的技术!

基于 TortoiseGit 重置版本至最新的一次有效提交

决定将可能存在冲突文件的几次提交给删除,重置版本至最新的一次有效提交

1、在某位开发人员的提交中,存在了已经冲突的文件,且未手动解决冲突,就强制提交了代码,如图1

在某位开发人员的提交中,存在了已经冲突的文件,且未手动解决冲突,就强制提交了代码
图1

2、决定将可能存在冲突文件的几次提交给删除,重置版本至最新的一次有效提交,如图2

决定将可能存在冲突文件的几次提交给删除,重置版本至最新的一次有效提交
图2

3、选择硬重置,所有之后的 commit 的修改直接丢弃,如图3

选择硬重置,所有之后的 commit 的修改直接丢弃
图3

4、重置成功,如图4

重置成功
图4
Plaintext

git.exe reset --hard 086fc817cc3d149adf8ebc0489d75b3958ea111f --

HEAD is now at 086fc81 Merge remote-tracking branch 'origin/develop' into develop

成功 (593 ms @ 2019/03/18 18:21:37)

5、本地文件已经还原至最新的一次有效提交,冲突提示已经消失,如图5

本地文件已经还原至最新的一次有效提交,冲突提示已经消失
图5

6、推送时,提示需要先拉取代码,但是此时是不应该拉取代码的,否则,又会将存在冲突的文件给拉取下来,如图6

推送时,提示需要先拉取代码,但是此时是不应该拉取代码的,否则,又会将存在冲突的文件给拉取下来
图6
Plaintext

git.exe push --progress "origin" develop

To https://gitlab.chinamcloud.com/php/pcs-api.git
! [rejected]        develop -> develop (non-fast-forward)
error: failed to push some refs to 'https://gitlab.chinamcloud.com/php/pcs-api.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.


git 未能顺利结束 (退出码 1) (2657 ms @ 2019/03/18 18:30:15)


7、强制将内容推送到远程服务器,如图7

强制将内容推送到远程服务器
图7
Plaintext

git.exe push --force-with-lease --progress "origin" develop

Total 0 (delta 0), reused 0 (delta 0)
remote:
remote: To create a merge request for develop, visit:
remote:   https://gitlab.chinamcloud.com/php/pcs-api/merge_requests/new?merge_request%5Bsource_branch%5D=develop
remote:
To https://gitlab.chinamcloud.com/php/pcs-api.git
+ b04e465...086fc81 develop -> develop (forced update)

成功 (4156 ms @ 2019/03/18 18:51:42)




8、在 Gitlab 上查看 Git 服务器上的提交日志,发现最新的提交ID已经还原至:086fc817cc3d149adf8ebc0489d75b3958ea111f,如图8

在 Gitlab 上查看 Git 服务器上的提交日志,发现最新的提交ID已经还原至:086fc817cc3d149adf8ebc0489d75b3958ea111f
图8

关于作者 · 持续学习与技术实践

我是一名拥有 15 年以上开发经验的技术从业者,自 2013 年起持续运营个人技术博客,记录工作与个人项目中遇到的真实问题,以及解决问题过程中的探索、实践和思考。

除了技术写作,我也在持续开发和维护自己的独立项目,探索新技术和新工具在实际场景中的应用。我始终相信,没有不值得去解决的问题,也没有不值得去学习的技术。

如果这篇文章对你有所帮助,欢迎浏览博客中的其他文章,也欢迎交流技术经验与想法。

关于我  ·  GitHub  ·  邮件联系