我希望有人能帮忙,因为我对GIT还很陌生。假设我在主分支机构上有以下合并的PR:A->B->C->D->E-F
我需要把它恢复到提交C时的状态,因为D E F有需要修复的问题。因此,我将C软重置回另一个分支(恢复D、E、F),然后将该分支合并回Main。现在我已经提交了恢复D、E和F.的G。A->B->C->D->E-F->G
两个问题:
1.其他人现在可以轻松地从Main分支,做他们的工作,然后毫无问题地融入进来吗?
1.我如何着手修复错误的提交?我应该像现在这样在主服务器上创建一个新的分支,然后重做所有更改吗?
如果有任何帮助,我很感激。
1条答案
按热度按时间htzpubme1#
很多事情。首先,图表应该是
A<-B<-C...
,因为在git儿童修订中指向他们的父母,而不是反过来。然后,如果您执行了软重置(git checkout F; git reset --soft C; git commit -m "reverting"
),则这是不正确的。C之后的修订版与F的内容相同,这不是您想要的,对吧?也许你想要做的是:
重点问题。
1-是。一般规则是,如果您不重写分支的历史,人们应该能够继续在分支上工作。正是当人们开始重写共享分支时,事情才会变得疯狂。当然..。这意味着人们将不会在与D、E和F相关的事情上工作。如果它与这些修订相关,那么冲突预计会在以后发生,因为你正在收回这些更改。
2-让我们假设它们中的每一个都是它自己的一个功能,并且不依赖于其他两个不完整的修订.你想从第一个版本开始工作……所以,假设我想要处理E: