【问题标题】:Git push doesn't reflect the latest push on gitlabgit push 不反映 gitlab 上的最新推送
【发布时间】:2021-07-19 08:49:48
【问题描述】:

我已经执行了 git push,但它没有反映最近对 GitLab 的推送,
以下是详细信息:

**git push -u origin ABC_10.0.0.0_DEV**
Branch 'ABC_10.0.0.0_DEV' set up to track remote branch 'ABC_10.0.0.0_DEV' from 'origin'.
Everything up-to-date

**git branch**
  ABC_10.0.0.0_DEV
* bug_fixes
  master


**git log**
commit 4a00000000b2000000bfdf1558d5e7420be0a1b1 (HEAD -> bug_fixes)
Author: abc <abc@abc-abc-abc.local>
Date:   Mon Jul 10 13:05:33 2021 +0530

    bug fixes

commit 3700000068377bef5e966213f5fb64c51778349f (origin/ABC_10.0.0.0_DEV, ABC_10.0.0.0_DEV)
Author: def <def.xyz@lmc.com>
Date:   Thu Jul 09 12:53:08 2021 +0530

    abc thing added

**git remote show origin**
* remote origin
  Fetch URL: http://abc@gitlab.def.com/ABC/Def.git
  Push  URL: http://abc@gitlab.def.com/ABC/Def.git
  HEAD branch: master
  Remote branches:
    ABC_10.0.0.0_DEV      tracked
    master                  tracked
  Local branches configured for 'git pull':
    ABC_10.0.0.0_DEV merges with remote ABC_10.0.0.0_DEV
    master                  merges with remote master
  Local refs configured for 'git push':
    ABC_10.0.0.0_DEV pushes to ABC_10.0.0.0_DEV (up to date)
    master                  pushes to master                  (up to date)


**git remote -v**
origin  http://abc@gitlab.def.com/ABC/Def.git (fetch)
origin  http://abc@gitlab.def.com/ABC/Def.git (push)

您能帮我解决这里的问题吗? 如果您需要更多日志,请告诉我。

【问题讨论】:

  • 抱歉,不清楚是什么问题。你是说当你在网络浏览器中查看 Gitlab 时,“ABC_10.0.0.0_DEV”分支没有预期的提交?
  • 是的,使用以下命令执行的最新提交在 gitlab 上不可用:git push -u origin ABC_10.0.0.0_DEV。分支'ABC_10.0.0.0_DEV'设置为从'origin'跟踪远程分支'ABC_10.0.0.0_DEV'。一切都是最新的
  • 那么,在您显示的输出中,当您查看 Gitlab 上的分支时,没有显示提交“3700000068377bef5e966213f5fb64c51778349f”(“abc thing added”)?还是您希望提交“4a00000000b2000000bfdf1558d5e7420be0a1b1”(“错误修复”)出现在该分支上?
  • 是的,我期待“4a00000000b2000000bfdf1558d5e7420be0a1b1”(“错误修复”)提交出现在 gitlab 中。
  • 好的,所以在某处存在误解:如您的 git log 输出所示,该提交仅存在于“bug-fixes”分支,而不是“ABC_10.0.0.0_DEV”分支。

标签: git gitlab


【解决方案1】:

documentation for git push 不太容易理解,所以让我们分解一下git push -u origin ABC_10.0.0.0_DEV 的含义:

  • git push 基于一个或多个本地分支更新一个或多个远程分支
  • -u 选项告诉 git 为分支“设置上游”,以便您以后可以使用较短版本的 git push 来做同样的事情。
  • 下一个参数指定要推送到哪个远程存储库。名称 origin 只是为您克隆的存储库设置的默认名称。
  • 最后一个参数指定要推送的内容和推送的位置;在这种情况下,您只指定了一个分支名称,即“将同名的本地分支推送到同名的远程分支”。

请注意,当您运行此命令时,您已签出哪个分支并不重要;您已要求 git 推送 ABC_10.0.0.0_DEV 分支,该分支具有提示提交 3700000068377bef5e966213f5fb64c51778349f。当前签出的分支 bug_fixes 及其提示提交 4a00000000b2000000bfdf1558d5e7420be0a1b1 尚未被推送到任何地方。

您可能想做以下两件事之一:

  • 将bug_fixes 的更改合并到ABC_10.0.0.0_DEV,然后推送。例如git switch ABC_10.0.0.0_DEV; git merge --ff-only bug_fixes; git push origin ABC_10.0.0.0_DEV
  • 将bug_fixes 分支推送到 Gitlab,然后使用 Gitlab UI 通过合并请求将其合并。例如git push -u origin bug_fixes

【讨论】:

    猜你喜欢
    • 2020-11-11
    • 2019-11-28
    • 2020-03-17
    • 2013-08-15
    • 1970-01-01
    • 2014-04-30
    • 1970-01-01
    • 2013-04-08
    • 1970-01-01
    相关资源
    最近更新 更多