merge 上游时 Git commit 被压缩,我如何更新我的本地 repo

标签 git github merge

我在本地仓库中做了一些提交,将它们推送到远程并向上游主机创建了一个 merge 请求。当 PR merge 时,这些提交被压缩了。

$ git commit A
$ git push origin master
$ git commit B
$ git push origin master

创建 PR,压缩并 merge 到上游 master

然后当我做...

$ git pull upstream master

它执行 merge 而不是快进,因为提交是不同的。在上游更改/压缩提交后,如何更新我的本地存储库以匹配上游主历史记录?

我最终做了以下......

$ git reset HEAD~2 --hard
$ git pull upstream master
$ git push origin master --force

为了匹配我的历史,但我希望有一种更简洁的方法来做到这一点。

最佳答案

如果您没有任何要保存的本地更改,您可以重置本地分支以匹配远程。

首先,从远程获取新数据

git fetch upstream

其次,在仔细检查您是否在本地 master 分支之后

git reset --hard upstream/master

这将重置您的本地分支以匹配远程分支。

关于 merge 上游时 Git commit 被压缩,我如何更新我的本地 repo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39400283/

相关文章:

node.js - Heroku NodeJS 帮助 – 推送被拒绝,未检测到 Cedar 支持的应用程序

git - 本地分支机构与集市?

mysql - 在 Duplicate Key 上仅更新 Null 或空值

Git 流 : Do you have to manually delete the feature branches from remote after finishing the feature?

javascript - 应该使用 `.merge()` 或多个 `.set()` 来更新 ImmutableJS 中的多个字段吗?

Python - 从 csv 文件创建数据帧并将这些数据帧合并在一起

git - 向 GitHub 添加 SSH key 的目的是什么?

ruby-on-rails - 当你有 git post-receive hook 时,Rails 为什么要使用 capistrano?

git - 致命 : Could not read from remote repository. Github 错误:无法将某些引用推送到

github - Git - 同一分支上的多个开发人员