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

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
  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: "merge remote-tracking branch" 可以翻译为 "合并远程跟踪分支"。 在Git中,"远程跟踪分支"是指远程仓库中的一个分支,在本地仓库中对应着一个"远程跟踪分支",可以通过与远程仓库的交互来更新本地的远程跟踪分支。 当使用命令"merge remote-tracking branch"时,通常是想将远程仓库中的代码更新到本地仓库中,使本地仓库中的分支与远程仓库中的分支同步。 ### 回答2: Merge remote-tracking branch是指将远程仓库的分支(remote-tracking branch)合并到本地仓库中的一个分支上。这是基于分布式版本控制系统(DVCS)的特性,允许开发者们在本地仓库与远程仓库进行交互同步,方便多人协作开发。 在Git中,远程仓库是指其他开发者或团队所维护的代码库,而本地仓库是指我们自己的代码库。当我们需要协作开发时,通常会先将远程仓库的代码复制到本地仓库(clone操作),然后在本地仓库上进行更改、提交等操作,最后再将本地仓库的代码推送到远程仓库(push操作)。 如果其他团队成员在远程仓库上提交了新的代码,而我们又在本地仓库上进行了新的更改,则需要先将远程仓库的代码合并到本地仓库中,这个操作就叫做Merge remote-tracking branch。 具体操作步骤如下: 首先,我们需要从远程仓库拉取最新的代码到本地仓库中,这个操作叫做fetch: $ git fetch origin 其中,origin表示远程仓库的名称,一般默认为origin。 然后,我们需要切换到本地仓库中需要合并的分支,例如我们想将远程仓库的master分支合并到本地仓库的dev分支: $ git checkout dev 接着,我们执行merge命令将远程仓库的master分支合并到当前分支: $ git merge origin/master 其中,origin/master表示远程仓库的master分支。 最后,我们提交合并后的更改到本地仓库,并推送到远程仓库: $ git add . $ git commit -m "Merge remote-tracking branch 'origin/master'" $ git push origin dev 这样,就完成了将远程仓库的分支合并到本地仓库的操作。需要注意的是,Merge操作可能会造成代码冲突,需要开发者手动解决。因此,在进行这个操作前,一定要仔细确认自己的更改和远程仓库的更改是否有冲突,以避免不必要的麻烦。 ### 回答3: 合并远程跟踪分支,是指将远程仓库的分支与本地分支进行合并,使得本地分支与远程分支所代表的代码内容达成一致。这个操作通常用于多人合作开发时,需要将多个开发者的代码进行整合。 具体而言,合并远程跟踪分支的步骤通常如下: 1. 确定本地分支与远程分支的关系:使用“git branch –a”命令查看所有分支,其中远程分支的名称通常以“remotes/xxx”的形式呈现。找到需要合并的远程分支,并记录其名称。 2. 将远程分支与本地分支建立关联:使用“git checkout –b 本地分支 origin/远程分支”命令,将远程分支与本地分支建立关联。 3. 进行代码合并:使用“git merge 远程分支名称”命令,将远程分支的代码合并到本地分支中。 4. 处理代码冲突:如果本地分支与远程分支存在代码冲突,需要手动解决冲突。 5. 提交代码并推送到远程仓库:使用“git push origin 本地分支名称”命令,将本地分支的代码推送到远程仓库。 总的来说,合并远程跟踪分支是一种相对复杂的操作,需要熟练掌握 Git 命令和相关的协作工作流程。只有在正确定位了代码的不同版本,才能在多人参与的项目中,更高效地完成代码整合和开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值