Git本地回滚重新修改代码再push到远程问题

简介: Git本地回滚重新修改代码再push到远程问题

引言


我们在开发的过程中,可能由于某些原因需要我们进行代码的回归到某个指定的版本,那么我们应该怎样操作才是正确的呢?下面先看看容易犯错的操作流程:

 

1.本地git reset --hard commit id回退到某个版本

  2.回退版本后,未push到远程就修改了本地代码

  3.修改完后再push到远程,提示先pull

  4.问题是pull远程代码就覆盖掉本地修改的了


操作分析:


一开始是这样:


    A - B - C - D    远程

    A - B - C - D    本地



第一步,git reset --hard B


    A - B - C - D    远程

    A - B               本地



第二步,修改本地代码,记为 E


    A - B - C - D    远程

    A - B - E          本地


如果我们现在pull 远程代码,情况如下:


   A - B - C - D    远程

   A - B - E - D'    本地


其中,D' 包含了 C 和 D 的改动,因为 git pull 相当于 git fetch 加上 git merge。这个时候 merge 的是 "Fetched HEAD",也就是远程的 D。同时,D' 的 message 应该会出现一句 "merge … from ...."


如果你希望远程是 A - B - E,那就不要 pull,git push --force强制推送。

目录
相关文章
|
1月前
|
开发工具 git
在使用git revert回滚提交时,如果想保留部分更改应该怎么做?
在使用git revert回滚提交时,如果想保留部分更改应该怎么做?
179 57
|
2月前
|
JavaScript 前端开发 持续交付
实际工作中 Git Commit 代码提交规范是什么样的?
实际工作中 Git Commit 代码提交规范是什么样的?
106 7
|
2月前
|
网络安全 开发工具 git
Git仓库创建与代码上传指南
本教程介绍了将本地项目推送到远程Git仓库的完整流程,包括初始化本地仓库、添加和提交文件、创建远程仓库、关联远程地址及推送代码。同时,还提供了`.gitignore`配置、分支管理等可选步骤,并针对常见问题(如认证失败、分支不匹配、大文件处理及推送冲突)给出了解决方案。适合初学者快速上手Git版本控制。
|
1月前
|
开发工具 git 索引
如何使用Git的暂存区来管理代码更改?
如何使用Git的暂存区来管理代码更改?
233 0
|
1月前
|
安全 开发工具 git
如何回滚Git中的提交?
如何回滚Git中的提交?
498 0
|
1月前
|
Linux 开发工具 git
解决 Linux git push 成功后(但没有出现绿点)的问题
最近学习使用Git,发现有时候在Linux下提交自己的小绿点并没有增加,单在仓库中却可以看到提交的代码。看着连续的绿点中出现几个零零散散的灰点,着实让一个强迫症患者十分难受。接下来分享以下我所知道的问题。
33 0
|
5月前
|
安全 开发工具 git
git分布式版本控制系统及在码云上创建项目并pull和push
通过本文的介绍,我们详细讲解了Git的基本概念和工作流程,并展示了如何在码云上创建项目及进行pull和push操作。Git作为一种分布式版本控制系统,为开发者提供了强大的工具来管理代码变更和协作开发。希望本文能帮助您更好地理解和使用Git及码云,提高开发效率和代码质量。
136 18
|
5月前
|
安全 开发工具 git
git分布式版本控制系统及在码云上创建项目并pull和push
通过本文的介绍,我们详细讲解了Git的基本概念和工作流程,并展示了如何在码云上创建项目及进行pull和push操作。Git作为一种分布式版本控制系统,为开发者提供了强大的工具来管理代码变更和协作开发。希望本文能帮助您更好地理解和使用Git及码云,提高开发效率和代码质量。
103 16
|
6月前
|
Devops Shell 网络安全
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
262 16
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
|
8月前
|
网络安全 开发工具 git
解决fatal:remote error:You can’t push to git://github.com/username/*.g
通过上述诊断与修复步骤,绝大多数的推送错误都能得到有效解决,确保您的Git工作流顺畅无阻。
422 1

相关实验场景

更多