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
答案 0 :(得分:0)
听起来您可以git rebase
将本地开发分支转到要合并到的最新集成分支。这将在最新消息的基础上重播您的提交(确保您git fetch
首先获得最新消息)。
但是,如果发布图像或树状示例的帮助,将更加容易。
答案 1 :(得分:0)
从您撰写的内容来看,您似乎正在努力避免合并冲突。如果是这种情况,我的建议是,您应该学习处理它们,因为它们在使用CVS时很常见。执行您要求的正确方法是重新设置基准。恢复不会删除提交,但是会创建新的“反向”提交来重置更改。有一些“删除提交”(即重置)的方法,但是强烈建议不要这样做,因为如果有人已经将其回购,则可能会弄乱该回购。参见
https://git-scm.com/book/en/v2/Git-Tools-Reset-Demystified