5

这是我的问题。我有一个master分支,我做了一些改变。不久之后,我的搭档恢复了他们所做的更改,因为它破坏了某些东西。当我跑git fetch; git rebase master主人是固定的,一切都很好。但是当我运行分支时git fetch; git rebase my_featuremy_feature仍然遇到与以前相同的问题。我如何更新my_feature分支以使其考虑到恢复的提交?谢谢!

4

3 回答 3

11

您首先需要 git fetch 和 git merge 跟随远程 master 分支的 master 分支。你可以用git checkout masterthen来做到这一点git pull origin master。这会将您的主分支带到与远程存储库等效的位置。

然后您需要执行以下操作以在新提交的基础上重新设置您的功能分支( git revert 只是对分支的另一个提交,应该与任何其他提交一样对待(根据具体情况有特殊关注)): git checkout my_feature然后git rebase master

这会将您的功能分支重新定位到新的本地 master 分支之上,该分支应该跟踪远程 master 分支。

于 2013-06-03T13:03:36.050 回答
0

如果之前的主分支有提交

(A) --> (B) --> (C) --> (D)

并且该my_feature分支基于(D),现在已还原,因此这(C)是 master 上的最新提交,然后您可以通过运行rebasemy_feature(C)

git branch my_feature.orig my_feature                          # optional, delete this branch when satisfied
git rebase --onto master $SHA1_OF_COMMIT_D my_feature.
于 2013-06-03T07:08:06.147 回答
0

既然你分支my_feature了,你必须在分支上master做一段时间。git rebase origin/mastermy_feature

于 2013-06-03T06:54:50.537 回答