我的分支落后于5个提交。
muralish@vnc9[~/git/task](task-68↓3| ✓)$git status
# On branch task-68
# Your branch is behind 'origin/task-68' by 5 commits, and can be fast-forwarded.
#
nothing to commit, working directory clean
muralish@vnc9[~/git/task](desflow-68↓3| ✓)$
这些提交是A-> B-> C - > D - > E。如何只将与提交C相关的更改提供给工作目录。
它尝试了git rebase -i但根本不会列出该提交。它输出以下信息。
noop
# Rebase 484a22b..b7fa802 onto 484a22b
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop f
感谢任何帮助。
答案 0 :(得分:1)
尝试
git cherry-pick <C-sha>
如果您不希望将这些更改存储为新的提交,请使用
git reset HEAD~1
这些变化既不会上演也不会被提交。
<强>更新强>
如果你想让你自己的分支出现来合并那些来自task-68的5次提交,而实际上它只能提交C你可以写(樱桃之后) -picking):
git merge -s ours task-68
<强>更新-2:强>
通常的做法是让本地task-68
分支与origin/task-68
相同,所以如果你想省略父分支的一些提交,最好先预先分叉:< / p>
git checkout -b task-68-wip
在此之后,按照上述说明进行挑选和合并。