如何更新具有某些提交的未接受拉请求的分叉存储库 [英] How to update a forked repo that has an unaccepted pulled request of some commits

查看:86
本文介绍了如何更新具有某些提交的未接受拉请求的分叉存储库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我遵循了下一个教程 https ://medium.com/@topspinj/how-to-git-rebase-into-a-forked-repo-c9f05e821c8a

这是我的实际仓库:

如您所见,我的拉取请求中有两个提交,原始存储库中有一个提交.

As you can see there are two commits in my pull request and one commit in the original repository.

我想更新我的分叉存储库,以使它们在上一次提交时所做的更改

I want to update my forked repository to bring the changes they made in its last commit

在运行git fetch命令以使更改之前,我的git状态告诉我:

before run the git fetch command to bring the changes my git status tell me:

$ git status
En la rama 13.0
Tu rama está actualizada con 'origin/13.0'.

然后我将git remote添加到上游

Then I made git remote add upstream

git remote add upstream https://github.com/original-repo/goes-here.git

一切都很好.

然后我将git提取到上游,并得到以下结果

Then I made git fetch upstream and I got the following result

remote: Enumerating objects: 2556, done.
remote: Counting objects: 100% (2556/2556), done.
remote: Total 3297 (delta 2556), reused 2556 (delta 2556), pack-reused 741
Recibiendo objetos: 100% (3297/3297), 2.05 MiB | 4.76 MiB/s, listo.
Resolviendo deltas: 100% (2822/2822), completado con 1802 objetos locales.
Desde https://github.com/odoo/odoo
 * [nueva rama]              10.0              -> upstream/10.0
 * [nueva rama]              11.0              -> upstream/11.0
 * [nueva rama]              12.0              -> upstream/12.0
 * [nueva rama]              13.0              -> upstream/13.0
 * [nueva rama]              5.0               -> upstream/5.0
 * [nueva rama]              6.0               -> upstream/6.0
 * [nueva rama]              6.1               -> upstream/6.1
 * [nueva rama]              7.0               -> upstream/7.0
 * [nueva rama]              8.0               -> upstream/8.0
 * [nueva rama]              9.0               -> upstream/9.0
 * [nueva rama]              master            -> upstream/master
 * [nueva rama]              saas-1            -> upstream/saas-1
 * [nueva rama]              saas-10           -> upstream/saas-10
 * [nueva rama]              saas-11           -> upstream/saas-11
 * [nueva rama]              saas-11.1         -> upstream/saas-11.1
 * [nueva rama]              saas-11.2         -> upstream/saas-11.2
 * [nueva rama]              saas-11.3         -> upstream/saas-11.3
 * [nueva rama]              saas-11.4         -> upstream/saas-11.4
 * [nueva rama]              saas-11.5         -> upstream/saas-11.5
 * [nueva rama]              saas-12           -> upstream/saas-12
 * [nueva rama]              saas-12.1         -> upstream/saas-12.1
 * [nueva rama]              saas-12.2         -> upstream/saas-12.2
 * [nueva rama]              saas-12.3         -> upstream/saas-12.3
 * [nueva rama]              saas-12.4         -> upstream/saas-12.4
 * [nueva rama]              saas-12.5         -> upstream/saas-12.5
 * [nueva rama]              saas-13           -> upstream/saas-13
 * [nueva rama]              saas-13.1         -> upstream/saas-13.1
 * [nueva rama]              saas-13.2         -> upstream/saas-13.2
 * [nueva rama]              saas-13.3         -> upstream/saas-13.3
 * [nueva rama]              saas-14           -> upstream/saas-14
 * [nueva rama]              saas-15           -> upstream/saas-15
 * [nueva rama]              saas-16           -> upstream/saas-16
 * [nueva rama]              saas-17           -> upstream/saas-17
 * [nueva rama]              saas-18           -> upstream/saas-18
 * [nueva rama]              saas-2            -> upstream/saas-2
 * [nueva rama]              saas-3            -> upstream/saas-3
 * [nueva rama]              saas-4            -> upstream/saas-4
 * [nueva rama]              saas-5            -> upstream/saas-5
 * [nueva rama]              saas-6            -> upstream/saas-6
 * [nueva rama]              saas-7            -> upstream/saas-7
 * [nueva rama]              saas-8            -> upstream/saas-8
 * [nueva rama]              saas-9            -> upstream/saas-9
 * [nueva rama]              staging.10.0      -> upstream/staging.10.0
 * [nueva rama]              staging.11.0      -> upstream/staging.11.0
 * [nueva rama]              staging.12.0      -> upstream/staging.12.0
 * [nueva rama]              staging.13.0      -> upstream/staging.13.0
 * [nueva rama]              staging.master    -> upstream/staging.master
 * [nueva rama]              staging.saas-11.3 -> upstream/staging.saas-11.3
 * [nueva rama]              staging.saas-12.1 -> upstream/staging.saas-12.1
 * [nueva rama]              staging.saas-12.2 -> upstream/staging.saas-12.2
 * [nueva rama]              staging.saas-12.3 -> upstream/staging.saas-12.3
 * [nueva rama]              staging.saas-12.4 -> upstream/staging.saas-12.4
 * [nueva rama]              staging.saas-12.5 -> upstream/staging.saas-12.5
 * [nueva rama]              staging.saas-13.1 -> upstream/staging.saas-13.1
 * [nueva rama]              staging.saas-13.2 -> upstream/staging.saas-13.2
 * [nueva rama]              staging.saas-13.3 -> upstream/staging.saas-13.3
 * [nueva rama]              tmp.10.0          -> upstream/tmp.10.0
 * [nueva rama]              tmp.11.0          -> upstream/tmp.11.0
 * [nueva rama]              tmp.12.0          -> upstream/tmp.12.0
 * [nueva rama]              tmp.13.0          -> upstream/tmp.13.0
 * [nueva rama]              tmp.master        -> upstream/tmp.master
 * [nueva rama]              tmp.saas-11.3     -> upstream/tmp.saas-11.3
 * [nueva rama]              tmp.saas-12.1     -> upstream/tmp.saas-12.1
 * [nueva rama]              tmp.saas-12.2     -> upstream/tmp.saas-12.2
 * [nueva rama]              tmp.saas-12.3     -> upstream/tmp.saas-12.3
 * [nueva rama]              tmp.saas-12.4     -> upstream/tmp.saas-12.4
 * [nueva rama]              tmp.saas-12.5     -> upstream/tmp.saas-12.5
 * [nueva rama]              tmp.saas-13.1     -> upstream/tmp.saas-13.1
 * [nueva rama]              tmp.saas-13.2     -> upstream/tmp.saas-13.2
 * [nueva rama]              tmp.saas-13.3     -> upstream/tmp.saas-13.3

没关系,所有这些更改都是他们在最后一次提交时所做的更改.

Well it doesn't matter, all these changes were the changes they made on their last commit.

再次检查我的仓库的git status已更新为下一个输出

git status again to check my repo is updated with the next output

$ git status
En la rama 13.0
Tu rama está actualizada con 'origin/13.0'.

git分支以检查我是否在正确的分支中.

git branch to check I'm in the correct branch.

$ git branch 
* 13.0

好,我在正确的分支

现在开始介绍棘手的部分.

Now commes the tricky part.

$ git rebase upstream/13.0
En primer lugar, rebobinando HEAD para después reproducir tus cambios encima de ésta...
Aplicando: Modificando la moneda oficial de Ecuador de sucre a dolar.
Aplicando: introducing Ecuadorian states

Aplicando 都是我在派生仓库中为拉取请求所做的提交的名称.

Both Aplicando are the names of the commits I made for the pull request that are in my forked repo.

现在,如果我使用git status,我会得到下一个结果

Now if I use git status I got the next result

$ git status
En la rama 13.0
Tu rama y 'origin/13.0' han divergido,
y tienen 3 y 2 commits diferentes cada una respectivamente.
  (usa "git pull" para fusionar la rama remota en la tuya)

nada para hacer commit, el árbol de trabajo esta limpio

我不明白分歧的信息. git试图用这种差异告诉我什么?并不是说喇嘛13.0和origin/13.0是同一个分支吗?

I dont understand the message of the divergence. What is git trying to tell me with this divergence?? It not suppose to mean that rama 13.0 and origin/13.0 are the same branch??

如果我运行git log,则会显示以下结果:

If I run git log the following result appear:

git log
commit 2aabc340fce82011c864b1ca0b5040add49d6ecd (HEAD -> 13.0)
Author: Osiris Roman <osirisr1994@gmail.com>
Date:   Fri May 1 14:08:45 2020 -0500

    introducing Ecuadorian states

commit b1d38ab75af5203369f2b8917719623ff2db3e6c
Author: Osiris Roman <osirisr1994@gmail.com>
Date:   Thu Apr 30 23:47:39 2020 -0500

    Modificando la moneda oficial de Ecuador de sucre a dolar.
    La moneda oficial del Ecuador cambió de sucre a dolar en el año 2000.

commit a164b01c1dd9d8612f89b36ad11002d67fca536f (upstream/13.0)
Author: Odoo Translation Bot <c3p@odoo.com>
Date:   Sun May 3 01:19:46 2020 +0200

    [I18N] Update translation terms from Transifex

commit cc47c76ee70ea684ab8352c47d1d06e7d8282b1b (upstream/tmp.13.0)
Author: std-odoo <std@odoo.com>
Date:   Wed Apr 22 09:15:44 2020 +0000

    [FIX] mass_mailing: escape the mailing list name

    Task-2241443

    closes odoo/odoo#50488

    X-original-commit: afa2153a24d495b863cd85febca3f96551d8cd56
    Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
    .
    .
    .
    .
    .

前两个提交是请求请求中的提交,这些提交应该在我的github分叉存储库中.

第三个是我要从原始存储库中提取的文件,该文件要上传到我的分叉提交中

Git建议我进行git pull来与我的本地仓库加入远程仓库.

Git suggest me to make git pull to join remote repo with my local one as I understand.

但是如果我执行git pull,那么当我运行git status时会出现四个未推送的提交,并且我不明白这些消息的来由和原因?

but if I make git pull then four unpushed commits appear when I run git status and I don't understand why and where these comme from??

有人知道如何解决此问题吗?

推荐答案

我解决了制作问题

git push origin 13.0 --force

rebase命令更改存储库的历史记录.提交将更改哈希并丢失祖先节点.然后,必须使用push --force将服务器历史记录替换为您当前的服务器历史记录.

The rebase command change the history of the repository. Commits will change hash and lose the ancestry nodes. Then it is neccessary to make push --force to replace the server history with your current one.

仅当具有相同分支结帐的一个以上的人时,推力才有风险.除此之外,应该没事.

Push force is only risky when there is more than one person with the same branch checkout. Other than this, should be ok.

这篇关于如何更新具有某些提交的未接受拉请求的分叉存储库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆