功能分支 git master 合并后提交

feature branch got master commits after merge

所以我有一个 master 分支和 feature/123-branch

我在 feature/123-branchgit checkout feature/123-branch 上,发现它在 master 上已经过时了,所以我做了

git merge master 保持最新。

merge 之前,feature/123-branch 刚刚 2 commits 开发了该功能,但是当我这样做时

git push origin feature/123-branch

由于合并(我认为?),提交数量跃升至 40

我尝试了 rebase --onto master HEAD~1 feature/123-branch,但没有解决问题。

如何让 feature/123-branch 上的 2 commits 保持最新状态?

如果我没理解错的话,你有这样的事情:

M0-M1-M2-M3-M4-...-MX  (master)
     \
      F0-F1            (feature branch)

你想 "keep up-to-date" 像这样:

M0-M1-M2-M3-M4-...-MX         (master)
                    \
                     F0'-F1'  (feature branch)

提交 F0'F1' 是提交 F0F1(来自您的功能分支的提交),但略有改动以便更改发生在之后master

的最后一次提交

如果那是你想做的,那么你打算做的不是合并 master 和你的功能分支,而是将你的功能分支变基到 master。

在这种情况下,方法如下:

  1. git checkout feature/123-branch 以确保您在您的功能分支中
  2. git log 列出该分支上的最新提交,并找到对应于 F1
  3. 的散列
  4. git reset --hard the_hash_from_F1 回滚合并
  5. git rebase master 做你最初打算做的事 "update" 你的分支