【问题标题】:Undo git merge origin/master - Bitbucket - Merged wrong branch into local撤消 git merge origin/master - Bitbucket - 将错误的分支合并到本地
【发布时间】:2018-01-23 23:29:27
【问题描述】:

这就是我所做的,我们正在使用 BitBucket。

最初我在我们的 QA 分支上创建了一个新分支

我一直在那个分支上工作,向那个分支提交。现在我已经准备好 PR 分支了,但首先像任何优秀的开发人员一样,我想看看我是否有最新的更改可以被检查到 QA 分支,因为我第一次在 QA 分支上创建了我的分支以确保我的本地使用当前 QA 中的最新内容更改网格。

所以...我想我所做的就是最终将master 分支中的内容合并到我的分支中,而不是qa。如果我是对的(我假设我是..见下文,我执行的命令)那么我需要退出并再次执行此操作,但要正确...从 QA 合并最新的,因此需要确保我也这样做。我不习惯使用位桶,所以我不知道我所要做的只是拉动,它会自动将 QA 合并到我的或什么中,但我通常会切换到我想从中提取的分支,然后执行合并到我的本地分支。好吧,这次我尝试了一种不同的方式,而不是那样,我想我搞砸了。

我们的分支设置(注意qa 分支是默认分支):

在 Bitbucket 中,从我们的“QA”分支创建了一个新分支:

在命令行中,这是我的(思考过程)所做的:

(好的,我刚刚将我的最新更改推送到我的 65 分支。我想知道是否使用 BitBucket,我可以执行 git pull 并且它会从 qa 分支中提取最新的内容,而无需切换并执行从qa 分支合并到65?...hmm 试试看)

▶ git pull
remote: Counting objects: 1507, done.
remote: Compressing objects: 100% (906/906), done.
remote: Total 1229 (delta 883), reused 458 (delta 320)
Receiving objects: 100% (1229/1229), 143.31 KiB | 0 bytes/s, done.
Resolving deltas: 100% (883/883), completed with 108 local objects.
From https://xxxx-bitbucket.xxxx.com/xxxx/xxxx/xxxx-framework
 * [new branch]        ****110           -> origin/****110
   32dd6d6b..a255ga3d  ****71            -> origin/****71
 * [new branch]        ****11              -> origin/****11
 * [new branch]        ****37              -> origin/****37
 * [new branch]        ****45              -> origin/****45
 * [new branch]        ****63              -> origin/****63
 * [new branch]        ****71            -> origin/****71
   1wf5v575..55ybb142  dev                   -> origin/dev
 * [new branch]        ****53              -> origin/****53
   q5920b52..j74411sd  master                -> origin/master
 * [new branch]        ****-detail-****-fix -> origin/****-detail-****-fix
   j79rn527..h48c131s  qa                    -> origin/qa
   41957f2k..2j79002f  staging               -> origin/staging
Already up-to-date.

(不,我只是在我自己的分支上拉了一个已经是最新的 - 没有其他人在使用这个分支,duh)

(嗯..让我们看看我们在本地有哪些分支)

▶ git branch
* ****65

▶ git merge origin/master
Auto-merging webpack/helper.js
Auto-merging src/app/xxxx/About.js
CONFLICT (content): Merge conflict in src/app/xxxx/About.js
...bunch of other conflicts
Automatic merge failed; fix conflicts and then commit the result. 

(废话我想我刚刚从我们的master 分支合并到我的本地分支。我想将qa 分支合并到我的本地分支)。我不知道,但我认为我需要撤回这一点并恢复这一点。但我不知道怎么做,我在这里看到了建议,但试图确定我是否搞砸了,然后如果我搞砸了,嗯,使用哪个命令来恢复以及如何使用来自 qa 分支右侧的 BitBucket 合并命令行方式)

这就是我现在所处的位置,需要帮助来验证我是否搞砸了,以及如何通过 BitBucket 将 qa 正确还原并合并到我的分支中。

【问题讨论】:

    标签: git version-control merge bitbucket


    【解决方案1】:

    试过git reset --merge ORIG_HEAD,看起来它有效,因为我在合并后没有提交更改。我总是忘记 HEAD 是什么意思。显然,这意味着您当前签出到的任何分支的负责人......在我的情况下是我正在工作的分支。

    【讨论】:

    • 不,HEAD 表示当前指针。当前签出的提交,例如在分离状态HEAD 指向不在分支头部的提交;回到头部做git checkout master;这将 HEAD 从当前提交移动到 master 分支的头部。
    猜你喜欢
    • 2014-12-04
    • 1970-01-01
    • 1970-01-01
    • 2013-05-09
    • 2013-12-21
    • 2020-07-27
    • 2016-04-30
    • 2020-08-01
    • 1970-01-01
    相关资源
    最近更新 更多