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

原创 2017年11月03日 19:25:53

   引言

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


   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强制推送。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Git Push(向远程Github提交本地代码)

Git Push(向远程Github提交本地代码) $ git push git@github.com:hepusheng/linux-2.6.11-study-note.git master //...

eclipse导入远程git代码及(push、pull、及maven工程导入)

1、下载eclipse,安装(需要安装jdk,对jdk设置) 本处提供windows的jdk下载地址:http://pan.baidu.com/s/1c0x5mzY(下载双击安装即可) ...

Git push提交到远程仓库卡住的问题解决

一、问题描述 我在进行git push提交到远程仓库时,git会卡住等半天都没反应,像下图,唯有按Ctrl+C退出。 二、运行环境 win7 + Git Bash 三、问题解决 把sendpack...

使用Git时,本地仓库向远程仓库push失败问题解决

刚开始使用Git,学了一天就遇到了问题。使用Git时,本地仓库向远程仓库push失败(远程仓库并未有内容更新)。在网上查找了一些方法,但是都不能很好地解决。最后还是向师傅请教才解决,所以分享一下我的方...

git如何回滚远程仓库

git如何回滚远程仓库 2016-04-11 /  mtxc 使用git管理项目开发的过程中经常会碰到这种情况:某次提交已经push到了远程仓库,可是突然意识到“天哪,我怎么做了这么蠢...

git 如何回滚远程仓库版本

前言: 使用git管理项目开发的过程中经常会碰到这种情况:某次提交已经push到了远程仓库,可是突然需要回退代码,怎么将远程代码库回滚呢? 不推荐这样做:在网上看到大部分人给出的解决方案是先将本...

git 远程分支回滚

git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id 【本地代码库回滚】: git reset --hard commit-id :回滚到commit-id,讲commit-...

基于git+rsync的代码--备份/上线/回滚--脚本一例

简单分享下我们之前的采用的基于git的开发上线流程,以及所采用的的上线脚本。流程是个大问题,这里只简单说下只能希望是抛砖引玉了;上线脚本是本文“重点”。之所以想分享这套脚本,因为个人感觉这套脚本提供了...
  • kai404
  • kai404
  • 2016年10月18日 23:27
  • 1881

Git Reset hard误操作回滚恢复代码

昨天晚上做项目的时候,误操作将Git服务器上的代码Reset hard回到了之前的分支上,导致一天写好的代码找不到了。本以为已经没有办法找回原来的代码了。从网上搜了下,发现可以进行回滚操作。 一、选...

git代码回滚

在我的代码生涯中,你会遇到许多次因为种种原因你的代码需要回滚,在git中你只需要三步: 1. 查看你的提交日志 git log git log 展示所有的提交记录 git log -...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Git本地回滚重新修改代码再push到远程问题
举报原因:
原因补充:

(最多只允许输入30个字)