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

时间:2018-08-06 15:02:45

标签: git

git的新手。

我不小心在一个过时的分支上工作,并将6个提交推送到一个远程开发分支。当我提交合并请求(开发>主)时,我落后了一些提交,因此我关闭了该请求。

我不确定解决此问题的最干净方法是什么。我可以git revert进行开发提交,从master签出一个新分支,再次进行更改,重新进行开发,并合并而不会发生冲突吗?由于还原添加了另一个提交,因此我不知道这是否只是堆积在我的问题上。

我不介意再次进行更改,我只想确保可以毫无问题地将其合并,并在完成后将所有内容保持最新。我查看了其他选项,例如git reset,但是如果我错了,我宁愿不要添加到问题中。

下面是git log --graph --oneline --all

的输出
  
      
  • a9024a3(来源/开发,开发)
  •   
  • e9398de
  •   
  • af2889d
  •   
  • e8a0fea
  •   
  • 8681f8a
  •   
  • 84e80a5
  •   
  • ccf55a0
  •   
  • 81de4ff
  •   
  • c2bb35c
  •   
  • 9e4dcb2
  •   
  • 20d385d
  •   
  • a7a86b8   | * 331200a(HEAD,原始/主机,原始/ HEAD,主机)将分支“开发”合并到“主机”中   | | \
      | / /
      | * 645a6f7   | /
  •   
  • f6b10dd
  •   

2 个答案:

答案 0 :(得分:0)

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

但是,如果发布图像或树状示例的帮助,将更加容易。

答案 1 :(得分:0)

从您撰写的内容来看,您似乎正在努力避免合并冲突。如果是这种情况,我的建议是,您应该学习处理它们,因为它们在使用CVS时很常见。执行您要求的正确方法是重新设置基准。恢复不会删除提交,但是会创建新的“反向”提交来重置更改。有一些“删除提交”(即重置)的方法,但是强烈建议不要这样做,因为如果有人已经将其回购,则可能会弄乱该回购。参见

https://git-scm.com/book/en/v2/Git-Tools-Reset-Demystified

https://git-scm.com/book/en/v2/Git-Branching-Rebasing

https://git-scm.com/docs/git-revert