Git 希望还原/删除远程提交以解决合并冲突

Git 希望还原/删除远程提交以解决合并冲突,git,Git,git新手 我无意中使用了一个过时的分支,并将6个提交推送到了一个远程开发分支。当我提交一个合并请求(development>master)时,我落后了几次提交,所以我关闭了请求 我不确定最干净的解决方法是什么。我能否git revertmy development提交回来,从master签出一个新分支,再次进行更改,返回到development,并合并而不发生冲突?由于恢复会添加另一个提交,我不知道这是否会导致我的问题 我不介意再次进行更改,我只是想确保我可以毫无问题地将其合并,并在完成后使所

git新手

我无意中使用了一个过时的分支,并将6个提交推送到了一个远程开发分支。当我提交一个合并请求(development>master)时,我落后了几次提交,所以我关闭了请求

我不确定最干净的解决方法是什么。我能否
git revert
my development提交回来,从master签出一个新分支,再次进行更改,返回到development,并合并而不发生冲突?由于恢复会添加另一个提交,我不知道这是否会导致我的问题

我不介意再次进行更改,我只是想确保我可以毫无问题地将其合并,并在完成后使所有内容都保持最新。我已经研究了其他选项,比如
git reset
,但是如果我错了,我不想增加问题

下面是git log--graph--oneline--all的输出

  • a9024a3(起源/发展、发展)
  • e9398de
  • af2889d
  • e8a0fea
  • 8681f8a
  • 84e80a5
  • ccf55a0
  • 81de4ff
  • c2bb35c
  • 9e4dcb2
  • 20d385d
  • a7a86b8 |*331200a(负责人、原始人/船长、原始人/船长、船长)将分行“开发”合并为“船长” |\
    |//
    |*645a6f7 |/
  • f6b10dd

听起来您可以
git-rebase
将您的本地开发分支重新设置到您想要合并到的最新集成分支上。这将在最新版本的基础上重播您的提交(确保您
git fetch
首先获取最新版本)


但是,如果您发布一个图像或树的外观示例,则会更容易提供帮助。

从您编写的内容来看,您似乎在试图避免合并冲突。如果是这种情况,我的建议是你应该学会处理它们,因为它们在使用CVS时很常见。做你所要求的事情的正确方法是重设基础。revert不会删除提交,而是创建新的“反向”提交以重置更改。有几种方法可以“删除提交”(即重置),但强烈建议不要使用这些方法,因为如果有人已经撤销了回购协议,您可能会弄糟回购协议。看


我可以从
开发
分支执行以下操作-
git-rebase-master
>手动修复冲突>
git-rebase--continue
。看起来好像我的提交被应用到了rebase dev分支之上,我认为应该设置它。如果我做了一个git-push-origin-development来发送更改,那么我应该能够提交一个合并请求而不会产生冲突。我说的对吗?@PassLin3,如果您在最新的
开发
分支上看到您的提交,那么您应该能够无冲突地推送(到
开发
分支)。也就是说,假设没有其他人在上次获取和推送之间推送到分支。在执行重基时,您在本地解决了合并冲突。没有其他人推送任何内容(这就是为什么我尝试如此快速地更正此问题:)。我能够毫无冲突地推进
开发
并合并到
主控
,一切看起来都很好。非常感谢您的快速回复!