Merge remote-tracking branch ‘upstream/dev‘ into dev

本文讲述了作者在使用Git时,因未执行rebase操作,导致merge后误用revert命令回退同事代码的错误经历。通过反思和分析,作者提出了解决方案——在fetch后进行rebase,避免类似问题,并提醒开发者注意Git操作流程,以防止代码管理中的混乱。
摘要由CSDN通过智能技术生成

1 问题描述

  • push代码后,又提示merge,直接mege,发现远程分支上多了一条commit记录“Merge remote-tracking branch ‘upstream/dev’ into dev”,
  • 查看后,不是自己的代码,吓我一跳, 于是立刻使用新学会的引以为豪revert命令,git revert [commitId] -m 1
  • 那些不是自己的代码全部撤回了, 长吁一口气
  • 十分钟后,同事过来了: 你怎么把我的代码给给删除了

瞬间慌了

2 原因描述

  • 1 操作步骤
  • git fetch upstream
  • git commit 本地改动
  • git push
  • 提示merge
  • 2 原因
  • fetch 命令后,本地的upstream/dev有更新了
  • 但是我没有rebase, 改了代码后,就push了
    这个时候,git认为你本地的dev分支需要合并upstream/dev, 于是问你要不要merge
  • 同意merge后,相当于又push了一次,把你的merge记录提交上去了, 这条merge记录就是 :“Merge remote-tracking branch ‘upstream/dev’ into dev”
  • 虽然多了一条了merge记录,但本质并不更改代码,只是一些合并的记录工作(它记录了更改分支的变动,但本质不改代码, 这里是github的commit记录给了我误导,我以为是提交了代码)
  • 于是我使用了引以为豪的revert 命令, 把同事的代码给revert了

3 解决方式

  • revert后,对这条revert再次revert
  • 代码就回来了

4 反思

  • git fetch 后, rebase一下当前分支,然后再提交代码
  • 每次都git fetch, git rebase,感觉很麻烦
  • 这样,写代码前, git fetch ,git rebase, git commit ,git push, create pr, 如果有冲突, 直接使用idea的图形界面 git->pull, 比较省事
  • 谨记 git fetch后,记得git rebase
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值